clientDataSet内存表的Delta功能?

i54 i54 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请教各位一个问题:用ClientDataSet建立一个内存表,保存好数据.对此内存表的修改,再用DELTA显示出来.
代码如下:
建内存表,并显示在DBGRID1上.
procedure CreateMTable;
var
mF:TFieldDef;
i:integer;
begin
try


self.ClientDataSet1.FieldDefs.Clear;
Mf:=self.ClientDataSet1.FieldDefs.AddFieldDef;
mf.Name:='MF';
mf.DataType:=ftString;
mf.Size:=10;


self.ClientDataSet1.CreateDataSet;

for i:=0 to 4 do
begin
ClientDataSet1.Append;
mClientDataSet.Fields[0].Value:='ABCD'+inttostr(i);
ClientDataSet1.post;
end;
DataSource1.DataSet:=ClientDataSet1;
DBGrid1.DataSource:=DataSource1;
except
exit;
end;
end;

把ClientDataSet1的DELTA付给ClientDataSet2,并显示在DBGrid上.
procedure TForm1.Button5Click(Sender: TObject);
begin
self.ClientDataSet2.Data:=self.ClientDataSet1.Delta;
DataSource2.DataSet:=ClientDataSet2;
self.DBGrid1.DataSource:=TDataSource2;
end;

运行,
在DBGride1改动一下,再执行Button5Click把DELTA付给ClientDataSet2,结果只是显示4行记录,并没有修改前后的对比记录,
请教各位代码哪里错了,或是自己建的内存表不扶持这个功能???
OK马上给分..在线等...
...全文

相关推荐

评论 12
收藏 已收藏
分享
返回顶部
i54
网络通信/分布式开发 1,594 成员 32,944 内容