关于asp中添加记录rs.addnew方法出现的问题

出错提示:MicrosoftOLEDBProviderforODBCDrivers错误'80040e21'多步OLEDB操作产生错误。如果可能,请检查每个OLEDB状态值... 出错提示:Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e21'

多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。

程序原码:

<%
Dim user,password,repassword,qqemail,sex,birthday,place
user = Request.form("用户名")
password = Request.form("密码")
repassword = Request.form("确认密码")
qqemail = Request.form("联系")
sex = Request.form("性别")
birthday = Request.form("生日")
place = Request.form("籍贯")
%>

<html>
<head>
<title>Register页</title>
</head>

<body>

<!-- #include file="ADOFunctions.asp" -->

<%
Dim sql
sql="select * from 用户注册表"
rs.Open sql,conn,1,3
rs.AddNew
rs("0")= (Request.form("用户名"))
rs("1")= (Request.form("密码"))
rs("2")= (Request.form("确认密码"))
rs("3")= (Request.form("联系"))
rs("4")= (Request.form("性别"))
rs("5")= (Request.form("生日"))
rs("6")= (Request.form("籍贯"))
rs.update
%>

<center>
<TABLE BORDER="1">
<TR>
<TH>用户名</TH>
<TH>密码</TH>
<TH>确认密码</TH>
<TH>联系</TH>
<TH>性别</TH>
<TH>生日</TH>
<TH>籍贯</TH>
</TR>
</center>

<%
response.write "你的注册信息如下:"
Do While Not rs.EOF
Response.Write "<TR><TD>" & rs("用户名") & "</TD>"
Response.Write "<TD>" & rs("密码") & "</TD>"
Response.Write "<TD>" & rs("确认密码") & "</TD>"
Response.Write "<TD>" & rs("联系") & "</TD>"
Response.Write "<TD>" & rs("性别") & "</TD>"
Response.Write "<TD>" & rs("生日") & "</TD>"
Response.Write "<TD>" & rs("籍贯") & "</TD>"
rs.MoveNext
Loop

rs.close
Set rs=Nothing
Conn.close
Set Conn=Nothing

%>

</TABLE>
</body>
</html>
展开
 我来答
天行者叶秋
2007-04-28 · TA获得超过1026个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:667万
展开全部
rs("0")= (Request.form("用户名"))
rs("1")= (Request.form("密码"))
rs("2")= (Request.form("确认密码"))
rs("3")= (Request.form("联系"))
rs("4")= (Request.form("性别"))
rs("5")= (Request.form("生日"))
rs("6")= (Request.form("籍贯"))
???1、2、3……??
你的数据库中这个“用户注册表”里的字段名称都是数字吗? 也就是为“0、1、2”?
我看不是吧?
你是想按索引值来添加吗?
那就去掉双引号
而且接收表单传过来的值,不能加括号,除非你是再用什么函数,那就用写出函数名:
应该写成
rs(0)= Request.form("用户名")
rs(1)= Request.form("密码")
rs(2)= Request.form("确认密码")
rs(3)= Request.form("联系")
rs(4)= Request.form("性别")
rs(5)= Request.form("生日")
rs(6)= Request.form("籍贯")

而且表单项目的名称,最好不要用中文
rs(0)= Request.form("name")
……

同一个页面如果只用一个RS对象来做写和读,那就最好在一个操作之后关闭一下,再打开

……
……
rs("4")= (Request.form("性别"))
rs("5")= (Request.form("生日"))
rs("6")= (Request.form("籍贯"))
rs.update
rs.close '加上这一句,关闭

rs.open "select * from 用户注册表",conn,1,1 '加上这一句,再为读而打开

…………
……
馨玫cB
2007-04-28 · TA获得超过3590个赞
知道小有建树答主
回答量:1677
采纳率:0%
帮助的人:1286万
展开全部
你的指针rs既是读,又是写。。。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式