美元s基金二期诺亚财富:ASP中登入系统后,修改密码的问题~~请高手指点

来源:百度文库 编辑:中科新闻网 时间:2024/05/09 14:10:14
1行 <!--#include file="conn.asp"-->
2行 <!--#include file="session_check.asp"-->
<!--#include file="md5.asp"-->
set rs=server.CreateObject("adodb.recordset")
sql="select * from [admin] where adminname="&session("adminname")&" and password="&md5(trim(request("yuanpassword")))
7行 rs.open sql,conn,1,3
if not rs.eof then
rs("password")=md5(trim(request("newpassword")))
rs.update
rs.close
set rs=nothing
response.Write"<p align='center'>密码修改成功!</p>"
elseif rs("password")<>md5(trim(request("yuanpassword"))) then
%>
<script language="javascript">
alert(对不起,原密码输入错误!)
history.back()
</script>
<%end if%>

提示错误:“ Microsoft JET Database Engine 错误 '80040e10'
至少一个参数没有被指定值。
/system_mod.asp,行7 ”

搞不清楚到底问题出在哪,还请高手指点指点!。。

这是个SQL语句的问题,将其改成:
sql="select * from [admin] where adminname='"&session("adminname")&"' and password='"&md5(trim(request("yuanpassword")))&"'"
就可以了。记得在SQL语句中字符串必须用引号引起来;数字可不用;True及False为常量,不能放在引号内。

sql=\"select * from [admin] where adminname=\"&session(\"adminname\")&\" and password=\"&md5(trim(request(\"yuanpassword\")))&\"\" 改成
sql=\"select * from [admin] where adminname=\'\"&session(\"adminname\")&\"\' and password=\'\"&md5(trim(request(\"yuanpassword\")))&\"\'\" 原因有3:原因1:SQL语句中,条件里的表达式等号两边不能为空,你以前的语句中,如果获取的变量值为空,那么这个语句就会产生你所发现的错误,,如果你需要某个条件为空则可以用单引号表示;
原因2:SQL语句条件判断表达式里比较字符型的值必须包含在一组单引号内,整形,布尔型(true,false)则不用。
原因3:sql=\"...password=\"&md5(trim(request(\"yuanpassword\")))&\"\"最后一组双引号和&符号需要省去,因为你最后一个是连接变量,不需要再用一对空的双引号去声明语句结束。但是,在修改后的语句中,password这个条件需要一个字符型的值,这个值之前有一个单引号,必须在其后也有一个匹配的单引号结束SQL语句,所以在最后一个参数变量后面跟上&"'"

注意,用户名和密码是字符串类型的,所以应该在sql中加上单引号:

sql=\"select * from [admin] where adminname=\'\"&session(\"adminname\")&\"\' and password=\'\"&md5(trim(request(\"yuanpassword\")))&\"\'\"

是你没有注意数据库字段格式的问题

要加引号才可以

sql="select * from [admin] where adminname='"&session("adminname")&"' and password='"&md5(trim(request("yuanpassword")))&"'"

sql="select * from [admin] where adminname="&session("adminname")&" and password="&md5(trim

中的[admin] ,你去掉[]试试,改为
sql="select * from admin where adminname="&session("adminname")&" and password="&md5(trim

不是7行的错误,是7行语句执行不下去了,打不开数据库了,所以报错了,你试试吧。
我的qq:133000010

sql有错误
改成试试
sql="select * from [admin] where adminname="&session("adminname")&" and password="&md5(trim(request("yuanpassword")))&""