请教个TClientDataSet的更新问题。(100分)

  • 主题发起人 主题发起人 juziling
  • 开始时间 开始时间
J

juziling

Unregistered / Unconfirmed
GUEST, unregistred user!
我正在做个三层的项目。客户端用服务器端的接口函数传递TClientDataSet的Delta。如果服务器端更新成功,那么客户端的TClientDataSet如何将数据状态设置成更新后的状态(就是说ChangeCount为0)
 
TclientDataSet的Post方法或点击TDBNavigator的“√”按钮更新数据,事实上只是把
数据更新缓存内存中,并没有真正更新回后端数据源中。要真正
地把修改的数据更新回数据源中,应用程序必须调用TClientDataSet 的ApplyUpdates ...
 
更新成功后,返回该ClientDatSet的Data内容
 
如果返回ClientDatSet的Data内容,但网络代价太大。有没有好些的办法?
 
试试在调用提交数方法后,直接调用MergeChangeLog方法,看是否能合并数据。
 
TClientDataSet能直接设置纪录的状态么?
 
不能,如果在客户端直接调用IAppServer提交方法后,需要调用MergeChangeLog方法进行数据合并后,ChangeCount值就等于0了。
 
你可使用TClientDataSet.emptydataset方法来清空TClientDataSet中的纪录,然后要调用数据时,再进行连接就可以了。
 
对此感兴趣,但以上各位讲的,我似乎都用过的,但不知怎么搞的数据源就是不更新,我在应用服务器端用的是ADO连接时,用APPLYUPDATES从来未成功过,是不是应用服务器与数据库服务器间只能使用BDE或ODBC连接后,才能进行更新呢?
 
DataSetProvider的UpdateMode设置upWhereChanged
 
谢谢 jxhdy2001的帮助.
 
后退
顶部