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

我们都知道,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;

转载于:https://www.cnblogs.com/yxbsmx/articles/1308242.html


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部