一个客户端数据集,在删除一条记录后不移动就不能存盘?
...
clientDataset.open;
clientdataset.first;
ClientDataset.delete;ClientDataset.Next;//要这一句,就修改下一条的下一条记录,不要这一句就存不了 盘,ClientDataset.Edit;
ClientDataset.FieldValues['...']=...ClientDataset.ApplyUpdate(0);我的本意删除第一条记录,再修改下一条记录,但delete后不加next就不能存盘,也无异常产生,加入next能存盘,但却修改了第三条记录?应该delete后,记录就自动一道下一记录,但为何不next就不能存盘? 怪?救命

解决方案 »

  1.   

    Applyupdate(0);的作用是把data,delta的数据合并,然后发到客户端,有客户端的组件来完成修改。 我想用既然没有修改,可以先post一下,然后edit,applyupdate。 这样比较好!!
    delete以后,一般指针会自动指到下一条纪录的。我想也可能是自身delphi的问题。 我的delphi现在就不能开发网络方面的程序,至于原因,我找了好久,最后发现不能load winsock,idwinsock里面的类! 
    建议: 重装一下delphi,然后再调试一下
      

  2.   

    我先delete再post再edit也不行,我跟踪ClientDataset.ChangeCount不是0就是1始终不出现2
      

  3.   

    你用哪一个版本的DELPHI,我用的时候没有问题啊?
      

  4.   

    我用DELPHI6,没有类似问题。