读书人

【请问】为什么在ACCESS中能执行在A

发布时间: 2012-02-13 17:20:26 作者: rapoo

【请教】为什么在ACCESS中能执行,在ADOQUERY 中提示出错?
我需要将当前数据库中abc表中的数据存放到带有密码的数据库中,使用了下面这样的句子(在CSDN的ACCESS栏问得),
“SELECT * INTO [; DATABASE=c:\c.mdb;pwd=123].table1 FROM abc;”

在ACCESS的查询对象中能够正常执行,但是我用ADOQUERY来执行这条语句就提示“不正常地定义参数对象。提供了不一致或不完整的信息。”。

为什么啊?

谢谢!

[解决办法]
先用一个ADOConnection链接Access,然后再用ADOQuery执行查询……
[解决办法]
按楼上的方法做吧

估计是你写的SQL中的“c:\c.mdb”出现的‘:’,ADOQuery解析成有参数了。
[解决办法]
为什么就要偷这个懒,用非标准语义去写程序?
首先定义ADOConnection, 用connecstring的向导去建好连接串,Provider最好用OLEDB Jet 4.0,需要注意的是,Jet的Access数据库密码不是在用户名密码那里直接输入的,而是在扩展属性页的password属性里输入的。Jet对Access访问提供兼容性最强的驱动支持。
然后再用ADOQuery指向定义好的ADOConnection,执行你的SQL,这样就不需要处理“:”的问题。
[解决办法]
补充一下,如果你用了ADOConnection,SQL就不要像原来那样写了,直接写成“SELECT * INTO table1 FROM abc”就行了

读书人网 >.NET

热点推荐