W wangwpf Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-11 #1 做了一个COM+的程序,将ClientDataSet.Delta发到服务器更新后,第二次将ClientDataSet.Delta将发往服务器更新的时候,便提示出错说记录未找到,或另一用户修改的记录,再在找到原因中delta中还保存着上将更新过的记录,可是不知道有什么方法能清空delta,并且使data中是更新后的值??
做了一个COM+的程序,将ClientDataSet.Delta发到服务器更新后,第二次将ClientDataSet.Delta将发往服务器更新的时候,便提示出错说记录未找到,或另一用户修改的记录,再在找到原因中delta中还保存着上将更新过的记录,可是不知道有什么方法能清空delta,并且使data中是更新后的值??
A ArJianzeng Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-11 #2 重新刷新一下ClientDataSet数据集。。。
轻 轻舞肥羊 Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-11 #3 如果是不提交修改并恢复的话,用CancelUpdates 记错了,如果不提交并不恢复的话,楼下的gfh21cn说得对,用MergeChange
W wangwpf Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-11 #5 我是不提交也并不恢复,但执行无效提供者或是无效的delta包, 有一点我的clientDataset中没有设置提供者! 我没有用ClientDataSet.ApplyUpdate(0)方法,我是做的COM+组件,是手工将ClientDataSet.Delta发到服务器上的,用的是COM+上自定义的SetReport方法,如: 客户端: SetReport(ClientDataSet.Delta,iMaxError,iOutError); 服务端: DataSetProvider.applyUpdate(Delta,iMaxerror,iouterror); 这样手工更新后ClientDataSet.Delta的值不会改变
我是不提交也并不恢复,但执行无效提供者或是无效的delta包, 有一点我的clientDataset中没有设置提供者! 我没有用ClientDataSet.ApplyUpdate(0)方法,我是做的COM+组件,是手工将ClientDataSet.Delta发到服务器上的,用的是COM+上自定义的SetReport方法,如: 客户端: SetReport(ClientDataSet.Delta,iMaxError,iOutError); 服务端: DataSetProvider.applyUpdate(Delta,iMaxerror,iouterror); 这样手工更新后ClientDataSet.Delta的值不会改变
G glpttlb Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-11 #6 errordatas是 DataSetProvider.applyUpdate(Delta,iMaxerror,iouterror)返回的错误包。 客户端用clientdataset1.Reconcile(errordatas),如正确 ClientDataSet.Delta置空,否则返回出错信息。
errordatas是 DataSetProvider.applyUpdate(Delta,iMaxerror,iouterror)返回的错误包。 客户端用clientdataset1.Reconcile(errordatas),如正确 ClientDataSet.Delta置空,否则返回出错信息。
S smokingroom Unregistered / Unconfirmed GUEST, unregistred user! 2003-09-11 #7 var V:OleVarinat; begin try V:=MyAppServer.SetReport(ClientDataSet.Delta,iMaxError,iOutError); ClientDataSet1.Reconcile(V); except MessageBox(Handle,'更新錯誤!','錯誤',MB_ICONERROR); end;
var V:OleVarinat; begin try V:=MyAppServer.SetReport(ClientDataSet.Delta,iMaxError,iOutError); ClientDataSet1.Reconcile(V); except MessageBox(Handle,'更新錯誤!','錯誤',MB_ICONERROR); end;