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