家和万事兴对联上一句:关于asp数据库查询

来源:百度文库 编辑:神马品牌网 时间:2024/05/08 09:56:25
请教下,下面这段代码错在哪里?
<%
db="../Databases/dsfjslfksanseimalsf.asp"
on error resume next
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
set conn=server.createobject("adodb.connection")
Set rs = Server.CreateObject("adodb.recordset")
sql = "select * from Manage_User where UserName='"&username&"' And PassWord='"&md5(password)&"'"
rs.open sql,conn,1,1
if rs.recordcount>=1 then
If not rs.Eof Then
Session("AdminName")=rs("UserName")
Response.write rs("UserName")
Else
%>
<script language="javascript">
alert("用户名或密码错误,请重新输入!");
</script>
<%
session("login_tim")=session("login_tim")+1
Response.Redirect("Login.asp")
End If
else
Session("AdminName")="f1i3r4s3t4l3o4g2i3n"
Response.Redirect("Default.asp")
End if
%>
md5(password) 是调用了个密码加密函数

1楼的,不是这个问题,就是放外面也出错。谢谢

2楼的,问题不在这里,上面的是我从一个include file里copy过来的,少复制了点,里面有这句,那文件在其他地方运行正常.谢谢

3楼的,没错误说明,只是不管输入是否正确,都执行Response.write rs("UserName") 为空的话就什么也没有

connection对象 还没执行open
conn.open connstr

sql语句里不要调用函数md5(),把调用函数md5()写到sql语句外面试试
没有在IIS中运行,可能不一定正确,仅供参考

另外,最好不要在程序中使用
on error resume next
这不是个好习惯,而且不利于调试;不用的话,一般来说IIS的出错说明中的错误位置还是有一定参考价值的(尽管它并不一定准确)。

运行后的出错说明是什么?贴出来看一下~看了出错说明才能知道错误的类型,才能给你解答阿~

你把
md5(password) 改成 md5(password,16)或者md5(password,32)

试试看~