关于TClientDataSet控件的applyUpdate更新后刷新的问题(100分)

  • 主题发起人 主题发起人 newmaid
  • 开始时间 开始时间
N

newmaid

Unregistered / Unconfirmed
GUEST, unregistred user!
Oracle8 数据库<br>tsqldataset + TDatasetProvider + tclientdataset <br>调用tclientdataset.applyupdate为什么不会自动更新?<br>必须调用Refresh方法才可以二次更新呢(否则再次调用applyupdate提示说记录已被其它用户修改)?试了TDatasetProvider.Options.poAutoRefresh := true也不行呀.<br>还用,Refresh方法是不是重新调用close和open方法?如果是,效率会不会有问题?会比bde快?
 
1. tclientdataset.commandtext:=sql_string;<br>2. tclientdataset.post; &nbsp;// 更新本地<br>3. tclientdataset.tclientdatasetafterpost 事件中<br>&nbsp; &nbsp;tclientdataset.applyupdate(0); // 更新服务器<br>&nbsp; &nbsp;tclientdataset.refresh; // 刷新<br><br>Refresh方法可能是重新调用close和open方法。效率不会有问题 <br>不会比bde快!
 
1、是由于你tclientdataset.applyupdate更新后最新数据没有合并到前端,所以要refresh;<br>2、设置TDatasetProvider.Options.poPropogateChanges:=true;即可
 
后退
顶部