ASP缺少对象: ''

<!--#includefile="conn.asp"--><%DimRs,sql,username,password'读取表单传递过来的管理帐号数据username=R... <!--#include file="conn.asp"-->
<%
Dim Rs, sql, username, password

'读取表单传递过来的管理帐号数据
username=Request.Form("username")
'读取表单传递过来的管理密码数据
password=Request.Form("password")

'如果管理帐号为空
If username="" Then
'给出提示,返回前一页
Response.Write "<Script>window.alert('管理帐号不能空');history.back();</Script>"
Else
'管理帐号不为空
If password="" Then
'管理密码为空
'给出提示,返回前一页
Response.Write "<Script>window.alert('管理密码不能空');history.back();</Script>"
Else
'管理密码不为空
'建立RecordSet 对象
Set Rs=Server.CreateObject("ADODB.RecordSet")
'从数据库中查询ADMIN表中username 列的值为username 的记录
sql="SELECT * FROM ADMIN WHERE USERNAME='"&username&"'"&" AND PASSWORD='"&password&"'"

'执行查询,并将结果保存在Rs中
Rs.open sql,conn,1,1

'如果不存在满足条件的记录
If Rs.EOF Then
'给出提示,返回前一页
Response.Write "<Script>window.alert('管理帐号或密码错误!');history.back();</Script>"
Response.End
Else
'存在满足条件的记录
'成功登录
'Session变量admin 中保存当前登录管理员的帐号
Session("admin")=Rs("USERNAME")
'页面转到主界面
Response.Redirect "index.asp"
End If
End If
End If

'关闭RecordSet对象
Rs.Close ——————(此为第47行)
Set Rs=Nothing

'关闭数据库连接,释放对象
conn.Close
Set conn=Nothing
%>
错误类型:
Microsoft VBScript 运行时错误 (0x800A01A8)
缺少对象: ''
/BiShe/admin/checkpwd.asp, 第 47 行
数据库已经连接上。
如果输入正确的账号和密码则没有问题,
输入错误的账号或密码(包含账号或密码为空情况),则出现上面的错误。
根据上面的源码似乎应该出现提示(如:管理帐号不能空)啊,
求解答!
展开
 我来答
blmm2009
2010-05-15
知道答主
回答量:34
采纳率:0%
帮助的人:28.3万
展开全部
'管理密码不为空
'建立RecordSet 对象
Set Rs=Server.CreateObject("ADODB.RecordSet")

兄弟你这里不明明白白的说密码不能为空的时候
才建立RecordSet 对象么
账户或密码为空时候你都没建立
Set Rs=Server.CreateObject("ADODB.RecordSet")
肯定提示你缺少对象咯。。。。
lanniaogzs
2010-05-15 · TA获得超过409个赞
知道小有建树答主
回答量:1190
采纳率:0%
帮助的人:1024万
展开全部
你慢慢琢磨吧,我就加了前面的注释,经过我测试,完全达到你要的要求,但是不加注释就和你的情况一样!

<!--#include file="conn.asp"-->
<!-- on error resume next
if request.Form("password")and request.Form("username")<>"" then
end if
if request.Form("")<>"" then
Response.Write "<Script>alert(""管理密码不能空"");history.back();</Script>"
end if
if request.Form("")<>"" then
Response.Write "<Script>alert(""管理帐号不能空"");history.back();</Script>"
end if
sql="select * from admin where [username]='"&request.Form("username")&"' and [password]='"&request.Form("password")&"'"
set rs=Conn.execute(sql)
if rs.eof and rs.bof then
error.clear
response.Write("<script>alert(""你输入的用户名或密码错误!"");history.back();</script>")
else
response.cookies("username")="yes"
response.Redirect("index.asp")
end if
-->
<%
Dim Rs, sql, username, password

'读取表单传递过来的管理帐号数据
username=Request.Form("username")
'读取表单传递过来的管理密码数据
password=Request.Form("password")

'如果管理帐号为空
If username="" Then
'给出提示,返回前一页
Response.Write "<Script>window.alert('管理帐号不能空');history.back();</Script>"
Else
'管理帐号不为空
If password="" Then
'管理密码为空
'给出提示,返回前一页
Response.Write "<Script>window.alert('管理密码不能空');history.back();</Script>"
Else
'管理密码不为空
'建立RecordSet 对象
Set Rs=Server.CreateObject("ADODB.RecordSet")
'从数据库中查询ADMIN表中username 列的值为username 的记录
sql="SELECT * FROM ADMIN WHERE USERNAME='"&username&"'"&" AND PASSWORD='"&password&"'"

'执行查询,并将结果保存在Rs中
Rs.open sql,conn,1,1

'如果不存在满足条件的记录
If Rs.EOF Then
'给出提示,返回前一页
Response.Write "<Script>window.alert('管理帐号或密码错误!');history.back();</Script>"
Response.End
Else
'存在满足条件的记录
'成功登录
'Session变量admin 中保存当前登录管理员的帐号
Session("admin")=Rs("USERNAME")
'页面转到管理界面
Response.Redirect "index.asp"
End If
End If
End If

'关闭RecordSet对象
Rs.Close
Set Rs=Nothing

'关闭数据库连接,释放对象
conn.Close
Set conn=nothing
%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式