C/S架构的程序:
客户端涉及的组件:DBGrid,DataSource,ClientDataSet,SocketConnection
服务端涉及的组件:DataSetProvide,ClientDateSet, 还有一个 .cds文件。
程序更新数据的步骤:
1,客户端通过SocketConnection连接到服务器将服务器端 .cds文件中的内容取出来。在DBGrid中展示。
2,用户在DBGrid中编辑数据,保存,执行ClientDataSet.ApplyUpdates(0);。转到服务端 DataSetProvide中的OnUpdateData方法中,
OnUpdateData方法中的关键代码:
ServerClientDataSet.Locate('DEP;ARV',VarArrayOf([toFindKeyWord1,toFindKeyWord2]),[loCaseInsensitive]);
ServerClientDataSet.Edit;
.........
ServerClientDataSet.Post;程序执行没有问题,但就是服务端 .cds文件没有更新!求解答,求教育。

解决方案 »

  1.   

    客户端是否有post动作。查看到达datasetprovider的数据是否是更新后的数据。如果使用默认属性更新时没有问题的。
      

  2.   

    客户端没有Post哦,只用了ClientDataSet.ApplyUpdates(0);就转到服务器端执行了。
    调试中在DataSetProvide中的OnUpdateData方法中是可以取到更新后的数据的,也正确赋值了,但就是.cds文件没有更新
      

  3.   

    select的时间不要用select*用select 字段名 from 表试试