Q&A

  • Midas 에서 Transaction 처리...


안녕하세요..

이번에 midas 를 이용해 개발하고져, 테스트를 하고 있는 중인데

Transaction 처리에서 막히네요..



서버구성

TDatabase1, TSession1, TTable1, TDataSetProvider1 이렇게 구성



클라이언트 구성

TSoketConnection, TClientDataSet1, TDataSource1, TDbgrid 이렇게 있습니다.





서버쪽에 Transaction 처리메소드 하나 추가하여

procedure TServer.Trans_mod(iMod:Integer);

begin

case iMod of

0 : Database1.StartTransaction;

1 : Database1.Commit;

2 : Database1.Rollback;

end;

end;



이렇게 놓고 클라이언트 쪽에서는 버튼별로



procedure TfTest2.Button1Click(Sender: TObject);

begin

SocketConn.AppServer.Trans_mod(0);

end;



procedure TfTest2.Button2Click(Sender: TObject);

begin

SocketConn.AppServer.Trans_mod(1);

end;



procedure TfTest2.Button3Click(Sender: TObject);

begin

SocketConn.AppServer.Trans_mod(2);

end;



procedure TfTest2.BitBtn4Click(Sender: TObject);

begin

if ClientDataSet1.ChangeCount > 0 then

ClientDataSet1.ApplyUpdates(-1); -----> 요거를 하면

end;



요렇게 되어 있습니다.



클라이언트에서 먼저 button1 로 StartTransaction 처리를 한 후에,

데이타 처리, button4로 ApplyUpdates 를 하게되면



" A user transaction is already in progress." 란 메세지가 나옵니다.



이미 transaction 이 실행중이란 메시지인데,

요기 게시판을 뒤져보니 "ApplyUpdates(0)" 로 바꿔보라고 하셨는데,

바꿔도 안되네요...



데이타 파일은 Paradox 로 테스트 중입니다.



도데체, transaction 처리를 할 수는 있나요...?

방법을 아시는 고수님들은 알려 주세요... 벌써 며칠째 손놓고 있네요..~~ T.T



부탁드립니다.



0  COMMENTS