ADOConnection连接A.mdb,ADOQuery的Connection为ADOConnection,我想将D:\Test\Test.mdb数据库里的Table1表数据导入到A.mdb的Table2表中,
我的做法是:
insert into Table2(Field) select Field from [;database=D:\Test\Test.mdb;].Table1
在Access里执行成功,但调用ADOQuery.ExecSql;执行时出错,不知什么原因?请各位大虾给点其它的解决办法,多谢了!

解决方案 »

  1.   

    你需要两个连接ADOConnection
    两个ADOQUERY
      

  2.   

    to dh9450(谁有我菜):两个ADOConnection之间如何传数据呢?我现在是用的两ADOConnection
      

  3.   

    应该用select into 而不是用insert into
      

  4.   

    adoquery本身可以看作一缓存,可以把一个表的内容取出放在adoquery中,然后动态改变adoconnection的connectionstring属性
    再保存到另一个库的另一个表中
      

  5.   

    select into 只能在同一个数据库中适用,夸数据库的当然要用两个Connection 
    一个Connection的DataSet将数据取出,另一个Connection的DataSet将数据插入.
      

  6.   

    select Field from [;database=D:\Test\Test.mdb;].Table1
    都不能正常执行,系统提示“不正常地定义参数对象,提供了不一致或不完整的信息”
      

  7.   

    to whythinkwhy(小生) : 用AdoQuery1取得select * from A,动态转换AdoConnection后,执行什么操作可以保存到另一个库??to SampsonDyh(阿辉) : 不要遍历插入啊,如果遍历的话我就不用来问了
      

  8.   

    insert into Table2(Field) select Field from Table1 in "D:\Test\Test.mdb"
      

  9.   

    估计如果你连的是目标数据库这样些是可以的 唯一的问题是 你的SQL里面有:
    DELPHI会把他当作定义参数的    不如 你给数据库拷的程序目录下 用相对路径试试
      

  10.   

    奇怪,我刚才用 qizhanfeng(glacier) 的方法试了一次成功,但现在又不行了
      

  11.   

    经过调试以后,发现第二次运行时,出错位置为:AdoQuery.SQL.Add('insert into Table2(Field) select Field from Table1 in "D:\Test\Test.mdb"');