我想把一个paradox数据库的某几个字段导到access数据库表的某几个字段中去怎么导。
例如:paradox数据库在 d:\bao1.db , access数据库在d:\tao.mdb的 bao2表.
bao1.db表中的字段为a1、a2、a3、a4
tao的bao2表中的字段 为b1、b2、b3、b4
我要把bao1中字段a1、a2、a3的数据分别导到access的bao2的b1、b2、b3该用什么控件(我知道用table和adotable怎么导数据,可我想用adoquery实现),怎么用sql语句写呢?请高手指教!

解决方案 »

  1.   

    不妨用个文本文件,先将paradox导入文本,然后从文本导入access
      

  2.   

    这样做效率太底了,要这样的话我还不如用一个table连paradox表,再用一个adotable连access表。再从table中一条一条的向adotable表中导数据!
    我就是想导数据的时候速度太写,因为我的数据量很大。
      

  3.   

    有一个batchupdate控件,可以实现你的要求。
      

  4.   

    batchupdate我用过,一个字:慢;两个字:很慢;三个字:慢死了…………就直接用ADO,用SQL怎么了?不行吗?select...into...
      

  5.   

    哦,驱动不一样,那用两个QUERY,循环导吧,不过也够慢,呵呵…………
      

  6.   

    adoquery1 用odbc连接 d:\bao1.db ,数据源为 select a1,a2,a3,a4 from bao1
    adoquery2 用ado连接 Access数据库,数据源为 select b1,b2,b3,b4 from bao2
    操作 adoquery1和adoquery2即可
      

  7.   

    我没用odbc连过paradox数据,怎么用odbc 连能说的具体些吗?
    还有我的insert 语句怎么写好呢?
      

  8.   

    另一解决方法如下:在Access数据库tao.mdb中建一链接表,链接到bao1.db, 用adoquery连接到数据库tao.mdb,写sql语句: insert into bao1 (a1,a2,a3,a4) select b1,b2,b3,b4 from bao2
    即可实现快速追加
      

  9.   

    我也是想这么用,可怎么用Access数据库tao.mdb中建一链接表,链接到bao1.db!
    小弟有大脑用些笨,还请楼上的大哥指教!
      

  10.   

    哎送佛送到西吧
    在Access表空白处点右健-〉链接表-〉选择文件类型为paradox(*.db),文件名为bao1.db!-〉链接ok了
      

  11.   

    procedure TfrmDataCopy.Button1Click(Sender: TObject);
    var
      i:Integer;
    begin
      adoquery2.DisableControls;{adoquery2.SQL中的内容是:select * from tao}
      adoquery2.Open;
      with adoquery1 do  {通过adoquery1查询出bao1中的内容}
      begin
        First;
        while not eof do
        begin
          adoquery2.append;
          for i:=0 to adoquery2.FieldCount-1 do
          begin
            adoquery2.FieldByName(adoquery2.Fields[i].FieldName).AsString:=Fields[i].AsString;
          end;
          adoquery2.post;
          next;
        end;
      end;
      adoquery2.EnableControls;
      ShowMessage('拷贝成功!');
    end;
      

  12.   

    哈哈,实在是太感谢了,原来这样可以用access连接到paradox数据的!:)