急急asp问题

来源:百度知道 编辑:UC知道 时间:2024/06/22 14:21:03
<%
function checkpassword(user,password)
dim conn,param,rs
set conn=server.createobject("adodb.connection")
param="driver={microsoft access driver (*.mdb)}"
conn.open param & ";dbq=" & server.mappath("password.mdb")
sql="select user,password from password where user=’" & user & "’ and password=’" & password & "’"
set rs =conn.execute(sql)
if rs.eof then
checkpassword=false
else
checkpassword=true
end if
end function
%>
<%
if isEmpty(session("passed")) then session("passed")=false
user=request("user")
password=request("password")
if user="" or password="" then
response.write"请输入您的登录名及密码。"
elseif not checkpassword(user,password) then
response.write"用户名或密码错误!<br>请检查你的用户名及密码然后再试一次!"
else session("pa

这行不一定有错,但是这行是执行前面的SQL字符串语句的,所以,可能是前的SQL语句当中有问题。

改:
sql="select user,password from password where user=’" & user & "’ and password=’" & password & "’"

为:
sql="select [user],password from password where [user]=’" & user & "’ and password=’" & password & "’"

user是sql中的一个关键词,所有得用这个[]括起来。
每一个字段在sql中用 “[字段名]”表示,也可以直接用字段名,但是字段名与关键词相关就一定得括起来。

别外,表名也是一样的。

如果,改了之后还不行,请你检查一下表的结构,是否有这些字段。

sql="select user,password from password where user=’" & user & "’ and password=’" & password & "’"

这句话 里面的 单引号 你全部用成中文的单引了 改成英文的单引。

检查表的结构和你语句时候相符