老大们,帮忙啊
ClientDataSet1.append;
些入数据.......
ClientDataSet1.Post;
ClientDataSet1.ApplyUpdates(-1);
ShowMessage('添加成功');
可以添加数据,服务端也更新了

ClientDataSet1.edit;
些入数据.......
ClientDataSet1.Post;
ClientDataSet1.ApplyUpdates(-1);
ShowMessage('修改成功');无法修改数据,本机可以,但服务器端的数据库没更新.
服务器端:ADOConnection+ADOQuery+DataSetProvider
客户端:SocketConnection+ClientDataSet+DataSource

解决方案 »

  1.   

    三曾都能做出来,全部用sql语句实现保险些呀,或者用存储过程等来达到数据的更新,添加等目的。
      

  2.   

    并没有判断更新结果If ClientDataSet1.ApplyUpdates(0)>0 then
      ShowMessage('修改失败!')
    Else
      ShowMessage('修改成功');
      

  3.   

    在CLIENTDATASET的ONReconcileError事件中写showmessage(e.Message);查看是什么导致不能修改保存的!!
    如:
    procedure TForm1.ClientDataSet1ReconcileError(
      DataSet: TCustomClientDataSet; E: EReconcileError;
      UpdateKind: TUpdateKind; var Action: TReconcileAction);
    begin
      showmessage(e.Message);
    end;
      

  4.   

    ONReconcileError  事件里才知道,保存是否有没有出错的,可以加入ReconcileErrordialog 进行处理
    new->other->dialogs->ReconcileError dialog在onreconcileerror 里面使用 HandleReconcileError 函数就可以对错误的更新进行处理了~