2011-05-15 7 views
1

한 테이블이 상위 테이블이고 다른 테이블이 하위 테이블 인 두 개의 테이블이 있습니다.
먼저 폼로드에서 자식 테이블의 부모 ID를 사용한 후 Parent에 행을 추가하고 싶습니다.
물론 사용자가 확인하고 마지막으로 저장할 때까지는 모두 임시입니다.자식 및 부모 테이블 오류

ForeignKeyConstraint FK_Table385_ParentTable_Table380_ChildTable requires the child key values (3) to exist in the parent table.

나는이 오류가 무엇을 의미하는지 알고, 그게 내 자식 테이블에 행을 추가 한 후 나는 부모 테이블을 업데이트 할 수 있습니다
하지만 내 코드를 통해, 나는이 오류를 받았다. 그러나 나는 그것을 할 수 없다. 그 작품들은 모두 사용자가 작업을 확인하기까지 일시적이기 때문입니다.
그럼 어떻게해야합니까?

+0

어떤 데이터 액세스 기술을 사용하고 있습니까? L2SQL, Entity Framework, DataSets 및 DataAdapters, 또는 오래된 일반 ADO.NET? – Ben

+0

데이터 집합 및 BindingSource – user422481

답변

0

입력 된 데이터 세트를 올바르게 구성하면 자동으로 처리됩니다.

모든 세부 사항을 기억하지는 않지만 관계의 PK 및 계단식 업데이트에 AutoIncrement를 사용해야합니다.

새 레코드가 임시 음수 값을 얻는 것을 (디버거)보아야합니다.

따라서 (3)이 키 값이면 뭔가 잘못되었습니다.

+0

예, 맞습니다. 내가 부모 테이블을 확인하고 그 오류가 발생했습니다. 자동 증가가 아니 었습니다. 정말 고맙습니다. – user422481

0

데이터 집합 사용 : 응용 프로그램에서 데이터를 오프라인으로 삽입하고 사용자가 확인하면 데이터베이스에 커밋합니다.

+0

infact, 나는 입력 된 dateset를 사용합니다. 두 테이블 모두 BindingSource 형식입니다. – user422481

+0

마스터 데이터 세트를 먼저 커밋하고 종속 데이터 세트를 마지막으로 커밋 했습니까? – Marco

+0

예, 먼저 부모 바인딩 소스에 행을 추가 한 다음 ParentTableBindingSource.EndEdit()을 사용했습니다. 그 후 ChildTable.NewRow() – user422481

관련 문제