是李维书上的代码吗?好象在ClientDataSet1的afterpost事件里要有一句:
clientdataset2.data := clientdataset1.delta;
我在你 的另一张帖子回过

解决方案 »

  1.   

    To cobi:
           在Afterpost里的Delta,是提交后更新的所有记录了,不是我要求的,错误记录哦。
      

  2.   

    我记得TClientDataSet的onReconcileError事件是一条错误记录触发一次的。也就是说服务器一产生onUpdateError,就会调用一次客户端的onReconcileError以便试图解决错误。因此,你只需要把DataSet的当前值添加过去,等全部更新完成后就可以得到所有的出错记录了。
      

  3.   

    To ChipHead:
       还是你老兄帮忙啊,谢啦。
       那么关于服务端在DataSetProvider1UpdateError事件中,我为什么得不到只是错误的记录呢??
      

  4.   

    ClientDataSet2.Data:=DataSet.delta;
      

  5.   

    To xzm2000:
        你说的,也得不到,
        难道大家在这个步骤都可以得到书上说的结果么?????
      

  6.   

    TDataSetProvider的onUpdateError事件中,DataSet的当前记录就是引起错误的记录啊?这个事件也是每遇到一个错误就触发一次的。
      

  7.   

    To ChipHead:
        你有试下么?为什么我在TDataSetProvider的onUpdateError事件中
        ClientDataSet1.Data :=DataSet.Data;
     得到的是全部记录,而不是错误的记录?????
      

  8.   

    当然了。onUpdateError事件中的DataSet参数始终是包含全部记录的,它的当前记录就是正在被更新但触发了错误的记录。你可以在onUpdateError当中把当前记录添加到一个列表当中,等到所有的数据更新完成,你也就得到了所有引起错误的记录了。