ASP程序提示ADODB.Recordset (0x800A0BCD)错误

来源:百度知道 编辑:UC知道 时间:2024/06/07 02:24:17
错误类型:
ADODB.Recordset (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/admin/pass.asp, 第 23 行

代码如下

<%
if not session("check")="checked" then
response.Redirect "login.asp"
else
%>
<!--#include file="conn.asp"-->
<%
set rs=server.CreateObject("adodb.recordset")
sql="select * from admin"
rs.open sql,conn,1,1
%>
<%
if request.querystring("act")="xg" then
sql1="select * from admin where username='"&username&"'"
else
sql1="select * from admin"
end if
set rs1=server.CreateObject("adodb.recordset")
rs1.open sql1,conn,1,3
%>
<%
if request.querystring("act")="xg" then
rs1("username")=request.form("username")
rs1("p

sql1="select * from admin where username='"&username&"'"
这一句里面的username变量的赋值在哪里?
如果没有赋值句子就变成了sql1="select * from admin where username=''"
意思是查询表中username为空的记录
于是产生一个数据个数为0的数据集
然后你给这个空的数据集里面填充数据
就出现了后面的错误
其实报错信息已经说的很清楚了

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

建议以后写程序的时候在
s1.open sql1,conn,1,3
之类句子之前先停下来看看你的sql语句对不对
。。。。。。。。。。
response.write(sql1)
response.end()
set rs1=server.CreateObject("adodb.recordset")
rs1.open sql1,conn,1,3
。。。。。。。。。
这样写等都通过了再把
response.write(sql1)
response.end()
这两行注释掉
跟写桌面应用程序时候设置的断点一样
这样找起来快

找不到你要找的数据,空指针错误啊.
要判断下的外衣没有数据要输出一些提示文字的