procedure TForm1.Button2Click(Sender: TObject);
var
i: integer;
begin
ClientDataSet1.EnableControls;
ClientDataSet1.Close;
ClientDataSet1.SetProvider(DataSetProvider1); //连接一个表
ClientDataSet1.Open; //这时CDS中己有数据 ClientDataSet2.LoadFromFile('d:\xx.xml'); //导入已经创建好的XML文件
ClientDataSet1.AppendData(ClientDataSet2.Data,false); //记录已经成功追加(在GRID中可以看出)
ClientDataSet1.ApplyUpdates(0); //可是为什么提交不到表中呢!????
ClientDataSet1.DisableControls;end;
var
i: integer;
begin
ClientDataSet1.EnableControls;
ClientDataSet1.Close;
ClientDataSet1.SetProvider(DataSetProvider1); //连接一个表
ClientDataSet1.Open; //这时CDS中己有数据 ClientDataSet2.LoadFromFile('d:\xx.xml'); //导入已经创建好的XML文件
ClientDataSet1.AppendData(ClientDataSet2.Data,false); //记录已经成功追加(在GRID中可以看出)
ClientDataSet1.ApplyUpdates(0); //可是为什么提交不到表中呢!????
ClientDataSet1.DisableControls;end;
解决方案 »
- 问一ADO 插入的问题.
- 紧急求助:com组件中的函数的参数是传址方式的,如何调用?
- Delphi 下如何实现发送密码后的到DHCP配置的公网IP
- 向大家请教一个问题:按钮等控件上鼠标右键的“这是什么”功能是怎么实现的?
- 使用serversocket/clientsocket的问题,可以同时都使用吗?
- 有中文ID的朋友来亮个相!
- 为什么在windows2000编写的mdi程序在windows98下运行不同
- 200分!!!打印问题求教!!!
- ----问---- //007pro
- 大浪淘沙,偶的这个mis已经完成了大半,但是又将碰到上个通讯录的那两个问题,老鱼,老千,帮偶想个办法(牛虻)
- 初学者求救 同步刷新问题
- 线程操作数据库的问题
ClientDataSet1.Data := ClientDataSet2.Data;
等方法时,ClientDataSet1均认为读入的是原始数据,即数据没有变化,
ClientDataSet1.ApplyUpdates(-1);只提交变化的数据。只有逐条记录加入:
ClientDataSet1.Data := ClientDataSet2.Data;
ClientDataSet1.EmptyDataSet;
while not ClientDataSet2.Eof do begin
ClientDataSet1.Append
for i:=0 to ClientDataSet1.FieldCount-1 do
ClientDataSet1.Fields[i].value := ClientDataSet2.Fields[i].Value;
ClientDataSet1.Open;
ClientDataSet2.Next;
end;
data是静态数据,意思是已认可的数据,
delta则包含了静态数据,更改的数据
例如
你现在取得了5条数据,然后新增了1条数据(未applyupdate)
那么,此时,保存data,就是6条数据,保存delta,就是1条数据,当你再次载入delta时,调用applyupdate将产生一条insert语句,可以这样理解delta,
1.append->post之后,delta---------new f1 f2 f3
2.edit->post之后,delta-----------old f1 f2 f3
new f1.1 f2.1 f3
3.delete->post之后,delta---------delete f1 f2 f3
当调用applyupdate的时候,它会解析delta,并根据上面3中情况分别产生insert,update,delete语句
当你把
cds2.data := cds1.delta
cds2.SaveToFile('xxx.xml');
你查看这个xml,你会理解midas是如何进行这些工作的.