Q&A

  • 이 마이다스클라이언트 모듈좀 봐주세요.
procedure TFrm101.Button1Click(Sender: TObject);

begin

with ClientDataSet1 do

begin

Close;

CommandText := 'Select * from TB_AA';

Open;

Insert;

FieldByName('AA_Code').AsString := '88';

FieldByName('AA_Name').AsString := 'aa';

Post;

Close; <=== 이게 말이 안되는것 같아서요.

CommandText := 'Select * from TB_BB';

Open;

Insert;

FieldByName('BB_Code').AsString := '22';

FieldByName('BB_Code').AsString := 'bb';

Post;

ApplyUpdates(-1);

end;

end;



버튼을 누르면 TB_AA, TB_BB에 동시에 저장해야 합니다.

한쪽이 에러나면 다른쪽도 저장이 안되야 하고요.

트렌젝션을 어떻게 걸어야 할지 몰라서 이렇게 했는데

TB_AA에 post를 한후에 TClientDataSet를 Close를 하니 당연히 뒤에꺼만 저장되는것 같아요.

그렇다고 Close를 안하면 TB_AA에 연결된 ClientDataSet를 TB_BB에 다시 연결할 수도 없고요.

이렇게 하다보니 TB_AA에는 저장이 안되고 TB_BB만 저장이 됩니다.

0  COMMENTS