asp 代码,高手请帮忙

来源:百度知道 编辑:UC知道 时间:2024/05/22 15:20:13
<%
Set conn123 = Server.CreateObject("ADODB.Connection")
DBPath123 = Server.MapPath("users.mdb")
conn123.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath123
set rs123=server.CreateObject ("adodb.recordset")
sql123="select * from users where userid='"&request.register("userid")&"'"
rs123.open sql123,conn123,1,3
if not rs123.eof then
response.write"<SCRIPT language=JavaScript>alert('该户名已经存在,请重新填写用户名。');history.go(-1)</SCRIPT>"
else response.write"<SCRIPT language=JavaScript>alert('恭喜您,该用户名可以注册。');history.go(-1)</SCRIPT>"
end if
%>

这是一段检测用户名是否存在,防止有相同用户名注册的代码。但不管输入存在的还是不存在的用户名,检测,都显示:恭喜你,用户名可以注册。
请高手们指点下,为何判断不出那些重复的用户名呢?

把IF语句重新写一下。
--------------------------------------------------------------------
if rs123.eof and rs123.bof then
response.write"<SCRIPT language=JavaScript>alert('恭喜您,该用户名可以注册。');history.go(-1)</SCRIPT>"

else

response.write"<SCRIPT language=JavaScript>alert('该户名已经存在,请重新填写用户名。');history.go(-1)</SCRIPT>"

end if
--------------------------------------------------------------------
如果还是出现类似的情况,
请检查一下你的sql语句
sql123="select * from users where userid='"&request.register("userid")&"'"
其中的UserID字段 是表单提交的需要检验的用户名,还是自动增加的ID字段。

你的方法应该没有问题
<%
Set conn123 = Server.CreateObject("ADODB.Connection")
DBPath123 = Server.MapPath("users.mdb")
conn123.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath123
set rs123=server.CreateObject ("adodb.recordse