我要做一个修改密码的东西
在前一页里:
<form method="POST" action="save.asp">
<input name="password" size="20"></p>
<input type="hidden" value="edit" name="act">
<input type="submit" value="modify" name="dok" id="dok">
<input type="reset" value="reset" name="B2">
</form>
save.asp这里我是这样写的:
<%
xh1=Session("admin")
set rs=server.CreateObject("ADODB.RecordSet")
if request("act")="edit" then
dim conn
dim connstr
on error resume next
dim dbname
dbname="data/base.mdb"
connstr="dbq="+server.MapPath(dbname)+";DefaultDir=;Driver={Microsoft Access Driver (*.mdb)}"
xh1=Session("admin")
set conn=server.CreateObject("adodb.connection")
conn.open connstr
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.open "Select * From admin where admin='"& xh1 & "'",conn,3,2
if not rs.eof then
rs("aleave")=aleave
rs("admin")=admin
rs("password")=encrypt(password)
rs.update
end if
end if
set rs=nothing
conn.close
set conn=nothing
response.redirect "pass.asp"
%>
运行过程中没有错误提示,但是密码就是改不过来。
对数据库没有任何修改。
求大家帮忙啊
參考答案:你将rs.open "Select * From admin where admin='"& xh1 & "'",conn,3,2
改称
rs.open "Select * From admin where admin='"& xh1 & "'",conn,3,3 试看
将你的排错语句on error resume next 去掉方便调试的时候发现错误,等没有错误了才放回去
RS.OPEN SQL,CONN,A,B
A:
ADOPENFORWARDONLY(=0)
只读,且当前数据记录只能向下移动
ADOPENKEYSET(=1)
只读,当前数据记录可自由移动
ADOPENDYNAMIC(=2)
可读写,当前数据记录可自由移动
ADOPENSTATIC(=3)
可读写,当前数据记录可自由移动,可看到新增记录
B:
ADLOCKREADONLY(=1)
缺省锁定类型,记录集是只读的,不能修改记录
ADLOCKPESSIMISTIC(=2)
悲观锁定,当修改记录时,数据提供者将尝试锁定记录以确保成功地编辑记录。只要编辑一开始,则立即锁住记录。
ADLOCKOPTIMISTIC(=3)
乐观锁定 ,直到用Update方法提交更新记录时才锁定记录。
ADLOCKBATCHOPTIMISTIC(=4)
批量乐观锁定,允许修改多个记录,只有调用UpdateBatch方法后才锁定记录。
当不需要改动任何记录时,应该使用只读的记录集,这样提供者不用做任何检测。
对于一般的使用,乐观的锁定可能是最好的选择,因为记录只被锁定一小段时间,
数据在这段时间被更新。这减少了资源的使用。