注册 登录
编程论坛 ASP技术论坛

rs.open sql,conn,3,2 提示参数不足是什么问题

wuchju 发布于 2008-01-07 19:08, 1546 次点击
原码:
<!--#include file="db.asp"-->
<%
userid=request("userid")
pwd=request("pwd")
kind=request("kind")
sql="select * from User_info where userid='"&userid&"' and pwe='"&pwd&"'"
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,3,2
...
%>
在IE里调试后提示:
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 1。
/wwwroot/在线考试/Checkusr.asp, 第 8 行
不晓得是哪里问题
8 回复
#2
不惑2008-01-07 20:55
<%
userid=request("userid")
pwd=request("pwd")
kind=request("kind")
sql="select * from User_info where userid='"&userid&"' and pwe='"&pwd&"'"
response.write sql
set rs=server.CreateObject("adodb.recordset")
rs.open sql,conn,3,2
...
%>
加这一句之后你应该可以明白是什么回事了.
注意,这一句不是给你鱼,是给你渔.
#3
天涯听雨2008-01-07 22:29
像这种读取,根根你的代码和意图,你应该只读取一条记录。一般读取一条记录时不要去建立recordset 对象,用系统资源较大,而且速度慢

下面一句话不是好了吗?

set rs=conn.exeCute("select  top 1 *  from User_info where userid='"&userid&"' and pwe='"&pwd&"'"
")
#4
sofine8882008-01-07 22:51
原帖由 [bold][underline]天涯听雨[/underline][/bold] 于 2008-1-7 22:29 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1174242&ptid=196352][/url]
像这种读取,根根你的代码和意图,你应该只读取一条记录。一般读取一条记录时不要去建立recordset 对象,用系统资源较大,而且速度慢

下面一句话不是好了吗?

set rs=conn.exeCute("select  top 1 *  from User_info where  ...


这条语句最后是不是多了一个"号
#5
madpbpl2008-01-08 02:11
原帖由 [bold][underline]sofine888[/underline][/bold] 于 2008-1-7 22:51 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1174263&ptid=196352][/url]


这条语句最后是不是多了一个"号

有疑问很好,你可以自己动手试试,看看是不是和自己的想法一样呢?
#6
天涯听雨2008-01-08 14:01
嗯,是多了一个" 抱歉,复制过头了……
#7
wuchju2008-01-08 17:43
是数据库中的字段名写错了,密码字段是pwd我也成了pwe。自己太粗心了。谢谢各位解答
用二楼的方法加上response.wirte sql后错误提示和原来一样。改成pwd后正常运行
用三楼的方法用读取一条语句。提示:
错误类型:
ADODB.Recordset (0x800A0E79)
对象打开时,不允许操作。
/wwwroot/在线考试/Checkusr.asp, 第 10 行
没弄懂
#8
yms1232008-01-08 17:57
ADODB.Recordset (0x800A0E79)
对象打开时,不允许操作。
/wwwroot/在线考试/Checkusr.asp, 第 10 行
没弄懂
出现这种错误证明
之前某个rs已经执行了open方法再执行就出这种错误。
#9
天涯听雨2008-01-10 22:39
  现在回答问题是感觉有点越来越难!
1