rs.update为何出错?
用的是SQLSERVER数据库.
set rs=server.createobject("adodb.recordset")
sql="select * from [user] where username='"&username&"'"
rs.open sql,conn,1,3
rs.addnew
rs("username")=username
rs("password")=password
rs.update '提示此行出错
错误类型:
"Microsoft OLE DB Provider for ODBC Drivers (0x80004005)"
问题点数:20、回复次数:22Top
1 楼popcode(枫.net)回复于 2002-05-28 17:57:38 得分 0
连接字符串错误吧Top
2 楼BrightEye(男儿当自强,靠别人不如靠自己)回复于 2002-05-28 18:06:16 得分 5
注意字段类型是否匹配,是否给非空字段赋了空值.Top
3 楼funboy88(司令)回复于 2002-05-28 18:28:35 得分 0
数据库连接出错,上面的程序没有错
你去看看CONN这个对象创建的程序有没有问题Top
4 楼ywz413(去留无意宠辱心惊)回复于 2002-05-28 18:35:52 得分 0
rs.open sql,conn,1,3改为rs.open sql,conn,2,2(3或者4也可以)Top
5 楼litterxu(小许)回复于 2002-05-28 19:12:14 得分 0
用insert吧,rs.update对SQL数据库操作有问题。Top
6 楼cqfeng()回复于 2002-05-28 19:27:49 得分 0
没错,用Connection 来insert吧Top
7 楼runming(稻草人)回复于 2002-05-28 19:28:41 得分 0
可能问题出现在你的数据库连接上,我用ACCESS的时候遇到过Top
8 楼misiren(夜斓)回复于 2002-05-28 19:31:37 得分 0
还有一种可能就是可能你插入的数据没有完整,但是在数据库中的字段为非NULL,所以会报错Top
9 楼sportdog(会编程的流氓狗)回复于 2002-05-28 21:18:07 得分 0
sql="insert into [user] set username='"&username&"',password='"&password&"' where username='" &username&"'"
conn.execute sql
if err,number<>0 then
response.write sql&"is wrong"
end ifTop
10 楼zxf_2000(菜菜鸟)回复于 2002-05-28 21:25:36 得分 0
我今天刚刚练习过的,是这个错误。你用的开发环境是什么。
我得也是RS.Update错误。
我得只能读,不能写,更新Top
11 楼bug_zj(bug_zj)回复于 2002-05-31 10:46:50 得分 0
我的开发环境是WIN2000PRO+IIS5Top
12 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-05-31 13:53:19 得分 0
3,3吧?Top
13 楼lbqlbq(流星)回复于 2002-05-31 15:50:58 得分 0
set rs=server.createobject("adodb.recordset")
sql="select * from [user] where username='"&username&"'"
rs.open sql,conn,3,2
rs.addnew
rs("username")=username
rs("password")=password
rs.update
把1,3换成3,2就可以Top
14 楼fridayfly(林子)回复于 2002-06-01 13:31:27 得分 0
我刚开始学
请问rs.open sql,conn,3,2
中的3与2是什么意思
谢谢Top
15 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-06-01 13:35:22 得分 0
到硬盘上去找ADO210.CHM看看就知道了Top
16 楼bug_zj(bug_zj)回复于 2002-06-01 18:21:04 得分 0
julyclyde(争取下次的MVP):你说的ADO210.CHM这个文件在哪儿啊,找不到啊.Top
17 楼possible_Y(████本人签名需要刮开,方可看到 )回复于 2002-06-01 18:41:37 得分 0
sql="select * from user where [username]='"&username&"'"Top
18 楼possible_Y(████本人签名需要刮开,方可看到 )回复于 2002-06-01 18:57:39 得分 0
rs.open sql,conn,参数1,参数2
参数1为设定游标的类型,其取值为:
1 仅向前游标,只能向前浏览记录,不支持分页、Recordset、BookMark
2 键集游标,其他用户对记录说做的修改将反映到记录集中,但其他用户增加或删除记录不会反映到记录集中。支持分页、Recordset、BookMark
3 动态游标功能最强,但耗资源也最多。用户对记录说做的修改,增加或删除记录都将反映到记录集中。支持全功能浏览。
4 静态游标,只是数据的一个快照,用户对记录说做的修改,增加或删除记录都不会反映到记录集中。支持向前或向后移动
参数2为记录集的锁定类型,其取值为:
1 锁定类型,默认的,只读,不能作任何修改
2 当编辑时立即锁定记录,最安全的方式
3 只有在调用Update方法时才锁定记录集,而在此前的其他操作仍可对当前记录进行更改、插入和删除等
4 当编辑时记录不会被锁定,而更改、插入和删除是在批处理方式下完成的Top
19 楼julyclyde(Java初学(大学不教只好自己学))回复于 2002-06-01 19:43:00 得分 0
装了OFFICE2000就有那个文件了Top
20 楼twtetgso(*学习再学习*)回复于 2002-06-01 19:50:31 得分 0
应该是你的数据是空值。Top
21 楼inhappy(inhappy)回复于 2002-06-30 21:34:21 得分 15
1、可能是在NTFS格式下对文件没有写的权利,修改相应的权限。
2、对不允许空的字段没有赋值。Top
22 楼xgn(谁是谁)回复于 2002-07-01 08:19:57 得分 0
一定是数据库连接错误,试试:
rs.open sql,conn,3,3Top




