51Testing软件测试论坛

标题: 用vbscript,ADO连mysql的数据库,添加,修改记录出现错误 [打印本页]

作者: 小宝2006    时间: 2006-9-14 12:03
标题: 用vbscript,ADO连mysql的数据库,添加,修改记录出现错误
添加的代码如下:
rs.addnew
rs.fields("id")="8888"
rs.fields("name")="zhouruijun"
msgbox(rs(0))
msgbox(rs(1))
rs.update()
rs为ado的recordset对象
不知道哪里些的不对,运行的时候,显示如下错误
把语句单独在mysql的数据库里面运行是可以的

[ 本帖最后由 小宝2006 于 2006-9-14 12:09 编辑 ]
作者: 小宝2006    时间: 2006-9-14 12:06
请大虾们帮忙看看喔
下面是修改的时候发生的错误,当是在update的时候,有错

[ 本帖最后由 小宝2006 于 2006-9-14 12:08 编辑 ]
作者: wangpai555    时间: 2006-9-14 14:05
意思是请CHECK你的MYSQL服务器,你输入的帐号密码有问题
作者: 小宝2006    时间: 2006-9-15 11:02
帐号和密码绝对无误
作者: xiaonan    时间: 2006-9-15 11:26
line 1是什么啊?放上来
作者: kissing    时间: 2006-9-15 11:36
...初步鉴定。。sql语法问题。。sql那上来,完整的脚本。。。
作者: 小宝2006    时间: 2006-9-18 15:22
Set Conn = CreateObject("ADODB.Connection" )
str="DRIVER={MySQL ODBC 3.51 Driver};SERVER=192.168.1.107;DATABASE=wp_core;user id=root; password=45retret4"
Conn.open str
Set Rs = CreateObject ("ADODB.Recordset" )

select_role_id="select * from `wp_core`.`wp_role` limit 0, 5000"

rs.open select_role_id,conn,1,3

if (not Rs.eof) then
role_id=rs(0)
msgbox(role_id)
rs.fields("id")=8888
rs.update
end if


rs.addnew
rs.fields("id")="8888"
rs.fields("name")="zhouruijun"
msgbox(rs(0))
msgbox(rs(1))

rs.update()



Rs.close
Set Rs = Nothing
Conn.close
Set Conn = Nothing

[ 本帖最后由 小宝2006 于 2006-9-18 15:30 编辑 ]
作者: 小宝2006    时间: 2006-9-18 15:32
这是全部的代码了,粗体的是出错的区域,当执行到UPdate方法的时候,就会出错。请各位大虾们帮忙喔~~~
作者: kissing    时间: 2006-9-19 09:26
select_role_id="select * from `wp_core`.`wp_role` limit 0, 5000" 这个sql的写法是什么意思??
你的表的第一行是列明是叫id吗??你的这种连数据库的方法???我不会。。。
作者: dandan    时间: 2006-9-19 10:36
他这个是MYSQL,不是MS SQL是吧?
作者: kissing    时间: 2006-9-19 10:49
对了,也要注意mysql驱动的版本和你的数据库能不能对应上,我一个同事就是死活用数据源连不上数据库,最后换了驱动才好的,
作者: 小宝2006    时间: 2006-9-19 17:32
用的是 mysql了,驱动版本应该是好用的吧,我能连上的了,也进行过添加,删除的操作过,但是都是用SQL语句的了,用到ADO的对返回数据集进行添加删除,保存的时候就出错了
作者: 小宝2006    时间: 2006-9-19 17:33
原帖由 kissing 于 2006-9-19 09:26 发表
select_role_id="select * from `wp_core`.`wp_role` limit 0, 5000" 这个sql的写法是什么意思??
你的表的第一行是列明是叫id吗??你的这种连数据库的方法???我不会。。。


我不是很明白你的意思, 如果是指 select_role_id 的话,这个是一个变量
作者: danielzhang    时间: 2006-9-20 12:07
标题: 这样试试
rs.open select_role_id,conn,3,3
作者: danielzhang    时间: 2006-9-20 12:27
标题: 还有
我一直这么用
rs("id")=8888 而不是 rs.fields("id")=8888
作者: lyscser    时间: 2006-9-20 13:11
http://bbs.51testing.com/thread-18429-1-1.html
作者: 小宝2006    时间: 2006-9-21 14:40
原帖由 danielzhang 于 2006-9-20 12:07 发表
rs.open select_role_id,conn,3,3



rs.open select_role_id,conn,3,3   第一个3和第二个3个代表什么意思那,一直不是搞的很明白,希望大家能给我解答,第二个3是指locktype吗?
作者: 小宝2006    时间: 2006-9-22 10:51
用rs.open select_role_id,conn,3,3 也不行
作者: kissing    时间: 2006-9-22 11:12
user id=root; password=45retret4"
改为uid=root;pwd=45retret4
试试,你的sql语法有误,你可以单步调试,然后添加变量检查点( add watch),看看是不是你最后的sql语句拼错了




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2