Q&A

  • ApplyUpdate안됨(마이다스에서)
안녕하세요.

Socket으로 연결된 Midas를 구축하고 있는데.

Client에서 ApplyUpdates(-1)을 해도 서버에 변경사항이 저장되지 않습니다.



ClientDataSet에서 ChangeCount는 변경이 되구요..

즉, 아래 코드에서 메시지박스는 나오지 않습니다.(Query1 :TClientDataSet)



if Query1.ChangeCount > 0 then Query1.ApplyUpdates(-1)

else ShowMessage('작업할 내용이 없습니다.');



아래는 간단한 실행코드입니다.







function TServ.getData:OleVariant;

begin

with Query4 do

begin

Close;

SQL.Clear;

SQL.Add('SELECT * FROM booking ');

Open;

end;

Result := Provider4.Data;

end;





procedure TForm1.FormCreate(Sender: TObject);

begin

dm.Connection.Open;

Query1.data := dm.Connection.AppServer.getData;

end;





참고로 마이다스에서는 ADO Query를 썼고 DataSetProvider는 기본 옵션입니다.

고수님들의 많은 조언 부탁드립니다.





1  COMMENTS
  • Profile
    이성찬 2000.10.28 18:00
    ChangeCount 가 0이 아니라는 얘기는 변경은 되는데

    서버 적용은 안된다는 얘기죠...

    TClientDataSet 의 OnReconcileError 이벤트에

    showmessage(E.Message);



    해보세요...

    만일 showmessage... 부분이 실행 된다면

    Constraint 나 Unique Key 에 관련된 부분을 살펴보세요...

    => 물론 OnReconcileError 처리 방법두 별도로 존재합니다.



    도움 되시길...









    김형중 wrote:

    > 안녕하세요.

    > Socket으로 연결된 Midas를 구축하고 있는데.

    > Client에서 ApplyUpdates(-1)을 해도 서버에 변경사항이 저장되지 않습니다.

    >

    > ClientDataSet에서 ChangeCount는 변경이 되구요..

    > 즉, 아래 코드에서 메시지박스는 나오지 않습니다.(Query1 :TClientDataSet)

    >

    > if Query1.ChangeCount > 0 then Query1.ApplyUpdates(-1)

    > else ShowMessage('작업할 내용이 없습니다.');

    >

    > 아래는 간단한 실행코드입니다.

    >

    >

    >

    > function TServ.getData:OleVariant;

    > begin

    > with Query4 do

    > begin

    > Close;

    > SQL.Clear;

    > SQL.Add('SELECT * FROM booking ');

    > Open;

    > end;

    > Result := Provider4.Data;

    > end;

    >

    >

    > procedure TForm1.FormCreate(Sender: TObject);

    > begin

    > dm.Connection.Open;

    > Query1.data := dm.Connection.AppServer.getData;

    > end;

    >

    >

    > 참고로 마이다스에서는 ADO Query를 썼고 DataSetProvider는 기본 옵션입니다.

    > 고수님들의 많은 조언 부탁드립니다.

    >

    >