三层结构中的数据提交问题(200分)

Z

zjuhui

Unregistered / Unconfirmed
GUEST, unregistred user!
我的应用是用SQLSERVER作为数据库server,在server应用中的table的cachupdate属性为true,在client端修改数据,然后用clientdataset.applyupdate(-1)提交,用sqlserver工具sqltrace检查提交成功了.但是在client端调用refresh 后不能反映出新数据,相反的反映出提交前的数据,何解,何解???是clientdataset 的数据缓冲未更新,provider的数据缓冲未更新??
诸位同行,有何良策?
 
ClientDataset 的 refresh 是指它本身的 Refresh, 如果要刷新遠程數據,
需要重新取得遠程數據, 有几种方法: 可以重新 Active;
或參考 FetchOnDemand, GetNextPacket.
Good Lucky!
 
1、输入时注意Enter;看起来太累!
2、用open close没问题!
为什么cachupdate=true?你用applyupdate(-1);还是没有提交!
既然用三层结构,没必要cachupdate=true!
 
wzm:U MUST SAY GOOD LUCK
TCLIENTDATASET必须UPDATE才能村数据,必须XXX才能读数据(想不起来了)而且可以
指定每次读的记录数,可以参见DELPHI的例子
 
clientdataset.applyupdate(-1)只将clientdataset的变动数据传递到
中间层,并非将中间层数据提交到数据库,如果中间层使用了CashedUpdate,
按理说此时SQL trace应trace不到提交的
 
1、我用过wzm的方法:active。但还是没用。
2、我的确用sql trace看到提交。
 
多人接受答案了。
 
顶部