将ADODataSet导出的数据导回原来的table

王朝delphi·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

我们都知道,ADODataSet可以将数据保存为 xml或者 pdfg格式的本地数据文件,

但是,如果将数据保存后推出,不做任何修改,下次将数据用AdoDataSet.loadFromFile加载后

系统是不会将数据给我们送回原来的备份的table的,简于此,我写了一个函数,可以将单表导出的数据

再次到会到原来的table 中,但条件是,你的 PK不能是 自增的,如果有这种情况,你可以在我的代码中

稍稍改动下,就可以了,不难,呵呵

procedure importData(Conn:TADOConnection;TableName:string;AdoDataSet:TADODataSet);

var

i : integer;

RDataSet: TADODataSet;

begin

RDataSet := TADODataSet.Create(nil);

RDataSet.Connection := Conn;

RDataSet.LockType := ltBatchOptimistic; RDataSet.CommandText := format('SELECT TOP 1 * FROM %s',[TableName]);

RDataSet.Open; AdoDataSet.First ;

try

while not AdoDataSet.Eof do

begin

RDataSet.Append;

for i:=0 to AdoDataSet.FieldCount -1 do

begin

RDataSet.Fields[i].Value := AdoDataSet.Fields[i].Value;

end;

RDataSet.Post;

AdoDataSet.Next;

end;

RDataSet.UpdateBatch();

finally

RDataSet.Free;

end;

end;

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航