iPAQ 发表于 2012-5-3 18:59:48

[已解决]使用SQL INSERT INTO命令出错

本帖最后由 iPAQ 于 2012-5-22 08:47 编辑

我用下面命令打开一个数据库
$Conn = ObjCreate("ADODB.Connection")
$Conn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & $dbname & ";Jet Oledb:Database PASSWORD=" & $dbpass)

用下面命令添加数据时,autoit出错The requested action with this object has failed
$Conn.Execute("insert into test (AA,BB) values ('11','22')")

换成下面命令就正常
$Conn.Execute("insert into test values ('11','22')")

数据库时access2000的,表名字段名数据格式都正确。
用update、delete等命令都正常。

由于我要处理的表中字段顺序不固定,所以想要在插入数据时指定字段。

在此请教各位高手是何原因?

kk_lee69 发表于 2012-5-7 10:30:30

語法問題.....忘了 實際上怎麼處理.....你先跳脫 AU3直接 在 ACCESS 裡面的 SQL 語法介面操作....

印象中 應該是 [] 的問題......試試看

insert into test (,) values ('11','22')

jingygr 发表于 2012-5-8 15:57:42

用au3操作mysql,我还真不会

iPAQ 发表于 2012-5-22 08:46:38

語法問題.....忘了 實際上怎麼處理.....你先跳脫 AU3直接 在 ACCESS 裡面的 SQL 語法介面操作....

印象 ...
kk_lee69 发表于 2012-5-7 10:30 http://www.autoitx.com/images/common/back.gif


    非常感谢 kk_lee69 的答复 !
不好意思刚看到,测试了一下果然加上[]就OK了!

不过某些情况不加[]也好用,不知何故?
试过别人的一段脚本不加[]也可以。
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path & ";Jet Oledb:Database Password=" & $mdb_data_pwd)
$addfld.execute("insert into "&$tblname&" (name,ssex,qq) values('"&$read1&"','"&$read2&"','"&$read3&"')")
$addfld.close
怪哉。

总之问题解决了,再次谢谢kk_lee69!

fenhanxue 发表于 2012-10-26 22:46:41

回复 1# iPAQ


    亲,我也遇到了这个问题。。。好困惑。。。我加[]试试看,,,,但是我看到很多人的代码是没[]的,也是成功的,究竟是为什么呢

icejs 发表于 2013-1-10 15:19:34

哦!嗦德思勒

lilufb 发表于 2013-7-22 11:14:51

赶紧学习,多多赚钱

lilufb 发表于 2013-7-22 11:25:23

这个属于是UDF吗?赚积分
页: [1]
查看完整版本: [已解决]使用SQL INSERT INTO命令出错