안녕하세요.
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는 기본 옵션입니다.
고수님들의 많은 조언 부탁드립니다.
서버 적용은 안된다는 얘기죠...
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는 기본 옵션입니다.
> 고수님들의 많은 조언 부탁드립니다.
>
>