2012-11-14 5 views
0

에 순서를 삽입 하위 상세 2.1 - 여기에 FK가 세부 1입니다.잘못된 중첩 된 데이터 셋이 추천 ClientDataSet를 내가 가진의 ApplyUpdates

데이터 세트의 레코드 삽입 순서는 다음과 같습니다. 마스터, 세부 사항 1, 세부 사항 2, 세부 사항 2.1. 그러나

, 데이터베이스에 삽입하기 위해, 나는의 ApplyUpdates를 호출 할 때, 마스터, 상세 2, SubDetail 2.1, 상세 1.

그래서 내가 "외래 키 참조 대상이 존재하지 않는"오류가 발생하고,이 때문에 세부 정보 1의 레코드를 가리키는 SubDetail 2.1의 FK입니다. 아직 데이터베이스에 삽입되어 있지 않습니다.

데이터베이스의 중첩 데이터 세트의 게시 순서를 변경할 수 있습니까? 아니면이 문제를 해결할 다른 방법이 있습니까?

답변

0

당신은 당신의 데이터 세트에서 다음을 사용할 수 있습니다

procedure TTemplate.MasterpostBeforeInsert(DataSet: TDataSet); 
begin 
    if Assigned(Dataset.DataSource) and Assigned(Dataset.DataSource.DataSet) then 
    if Dataset.DataSource.DataSet.State in [dsInsert] then 
     Dataset.DataSource.DataSet.Post; 
end;