三层数据提交问题 ( 积分: 172 )

  • 主题发起人 主题发起人 Tomtit66
  • 开始时间 开始时间
T

Tomtit66

Unregistered / Unconfirmed
GUEST, unregistred user!
client的cdsdataset数据更改后提交,在appserver中的DeltaDS里的值都是修改前的数据,newvalue和oldvalue都一样,curvalue则为空,
再一次提交时,newvalue和oldvalue则都变成了上一次修改过的值,
总是滞一组数据,哪为知道是为什么?
因为我准备在BeforeUpdateRecord时后自己处理提交数据,不用备用applyupdate自动处理,所以DeltaDS里数据的滞后造成了我无法提交最新的数据.
 
client的cdsdataset数据更改后提交,在appserver中的DeltaDS里的值都是修改前的数据,newvalue和oldvalue都一样,curvalue则为空,
再一次提交时,newvalue和oldvalue则都变成了上一次修改过的值,
总是滞一组数据,哪为知道是为什么?
因为我准备在BeforeUpdateRecord时后自己处理提交数据,不用备用applyupdate自动处理,所以DeltaDS里数据的滞后造成了我无法提交最新的数据.
 
參看:
procedure TForm1.DataSetProvider2BeforeUpdateRecord(Sender: TObject;
SourceDS: TDataSet;
DeltaDS: TCustomClientDataSet;
UpdateKind: TUpdateKind;
var Applied: Boolean);
var
icount:integer;
begin

for icount:=0 to SourceDS.RecordCount-1do
begin
if (pfinupdate in SourceDS.FieldByName('salary').ProviderFlags) then
begin
deltads.FieldByName('salary').ProviderFlags:=
deltads.FieldByName('emp_no').ProviderFlags-[pfinupdate];
end;
end;

end;
 
没人遇到过这样的问题么?
 
http://www.playicq.com/dispdocnew.php?id=22781
你下载我的程序看看,
我的取数,回添,
全是自己写函数完成的
 
楼上大侠,好像没有源码哦.难道让偶自己推导源码?汗ing......
 
修改数据最好还是用sql语句了,那样修改还是有很多bug的.
 
你觉得可以,可以同我QQ交流
405090991
 
我的QQ是236309574,
大家 可以讨论一下,
我对这个也很爱好。。。。。。。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
900
SUNSTONE的Delphi笔记
S
后退
顶部