clientDataSet内存表的Delta功能?
请教各位一个问题:用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马上给分..在线等...
代码如下:
建内存表,并显示在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马上给分..在线等...
...全文
相关推荐
ClientDataSet数据更新,Delta解析,视图更新
将ClientDataset的Delta数据打包成JSon字符串 可以将这个JSon字符串传递到服务端, 进行解码,生成更新的SQL语句. 主键更新. 建议主键使用GUID,这样更新数度快, SELECT可以多个表,但是要更新的字段不要AS成其他名字. 打包的时候指定要更新的表和更新主键. 思路不错的.封装到位. 数字字段删除也可以更新.
ClientDataSet作为内存表使用
ClientDataSet是一个功能强大的类,通过在内存中模拟表格,实现了其它数据集组件所不具备的强大功能。以往只在Delphi和C++ Builder企业版中才提供这个组件,如今,Borland的全部产品(包括最新的Kylix)都集成了TClientDataSet组件。 TClientDataSet从类的继承关系上来看,是TDataSet这个抽象类的子类,所以我们可以在TDataSet这个抽象层次上对其进行 我们熟悉的操作,比如导航、排序、过滤、编辑。要注意的是,TClientDataSet使...
ClientDataSet_经典
ClientDataSet_经典应用手册
数据开发基础知识点-2(多表关联).docx
数据开发基础知识点-2(多表关联).docx
数据开发基础知识点-2(多表关联).pdf
。


网络通信/分布式开发
