例如: 有2 个access数据库文件,分别是 db1.mdb,db2.mdb  ,  他们都有一个表, 表
名为"T1" , 分别在于db1.mdb库的t1表是有记录的,但db2.mdb库的t1表是空的,
adodataset1控件打开db1.mdb库的t1表adodataset2控件打开db2.mdb库的t1表adodataset1,adodataset2分别打开t1表后,怎样把adodataset1的记录快速地转到 adodataset2控件中并保存!
 我试过下面代码:procedure TForm1.Button1Click(Sender: TObject);
begin 
 
 adodataset2.Recordset:=   adodataset1.Recordset ;
   adodataset2.edit;
    adodataset2.Post;end;   在adodataset2连接的dbgrid已经看到adodataset1的数据  ,但不能保存!

解决方案 »

  1.   

    假如已用ADOConnection连到了DB1,如下方法:procedure TfrmEhlib.btnFromAccessClick(Sender: TObject);
    var
      tName: TStrings;
    begin
      tName := TStringList.Create;
      acStore.GetTableNames(tName, false);
      if tName.IndexOf('t1') >= 0 then
        acStore.Execute('drop table t1');
      acStore.Execute('select * into t1 from t1 in ' + QuotedStr(ExtractFilePath(Application.ExeName) + 'db2.mdb'));
      MessageBox(self.Handle, '数据已成功导入为t1', '提示', mb_IconInformation + mb_Ok);
      tName.Free;
    end;导出:
    acStore.Execute('select * into t1 in ' + QuotedStr(ExtractFilePath(Application.ExeName) + 'db2.mdb') from t1');
      

  2.   

    同意 weizi2000(秋风啊)的看法