我需要将当前数据库中abc表中的数据存放到带有密码的数据库中,使用了下面这样的句子(在CSDN的ACCESS栏问得),
“SELECT * INTO [; DATABASE=c:\c.mdb;pwd=123].table1 FROM abc;”在ACCESS的查询对象中能够正常执行,但是我用ADOQUERY来执行这条语句就提示“不正常地定义参数对象。提供了不一致或不完整的信息。”。为什么啊?谢谢!

解决方案 »

  1.   

    先用一个ADOConnection链接Access,然后再用ADOQuery执行查询……
      

  2.   

    按楼上的方法做吧估计是你写的SQL中的“c:\c.mdb”出现的‘:’,ADOQuery解析成有参数了。
      

  3.   

    加上ADOCONNECTION也不行啊。怎样才能让ADOQUERY不认为“:”不是参数呢?
      

  4.   

    加上ADOCONNECTION也不行啊。怎样才能让ADOQUERY不认为“:”不是参数呢?
      

  5.   

    加上ADOCONNECTION也不行啊。怎样才能让ADOQUERY不认为“:”不是参数呢?
      

  6.   

    为什么就要偷这个懒,用非标准语义去写程序?
    首先定义ADOConnection, 用connecstring的向导去建好连接串,Provider最好用OLEDB Jet 4.0,需要注意的是,Jet的Access数据库密码不是在用户名密码那里直接输入的,而是在扩展属性页的password属性里输入的。Jet对Access访问提供兼容性最强的驱动支持。
    然后再用ADOQuery指向定义好的ADOConnection,执行你的SQL,这样就不需要处理“:”的问题。
      

  7.   

    补充一下,如果你用了ADOConnection,SQL就不要像原来那样写了,直接写成“SELECT * INTO table1 FROM abc”就行了