4月14日是什么日子:求助ASP问题,修改数据库记录的问题!!!!!详细!!

来源:百度文库 编辑:高校问答 时间:2024/05/04 22:07:17
我想对数据库进行修改操作,但是运行后连原来的记录也不显示了
而且没有对数据库起到修改作用,是为什么?代码如下:
<%
set conn=server.createobject("adodb.connection")
conn.open "driver={microsoft access driver (*.mdb)};dbq="&server.mappath("../../db/userdata.mdb")
set res=server.createobject("adodb.recordset")

userid=request.form("userid")
userpasswd=request.form("userpasswd")
username=request.form("username")
usernum=request.form("usernum")
useremail=request.form("useremail")
usercomment=request.form("usercomment")
old_userid=session("change_student_id")

sql="update userinfo set userid='"&userid&"',userpasswd='"&userpasswd&"',username='"&username&"',usernum='"&userenum&"',useremail='"&useremail&"',usercomment='"&usercomment&"' where userid='"&old_userid&"'"
res = conn.execute(sql)
response.Redirect("student.asp")
%>
没有出错
跳回了student页面 什么记录都没显示

to kleon379
我用了你的方法也不行 因为select是把表里的数据读出来 再用update更新,但我是直接在这张页面上更新了,就是说form里的值是变量.我迷茫了 .......

SQL的指针问题
建议用recordset回写
比如:sql="select * from userinfo"
rs.Open sql,conn,1,3
rs("userid")=request.form("userid")
...
rs.update
rs.close
这样就可以完成修改传递过来的表单数据了
但是只修改库当前指向记录的数据
这个问题是在建库的时候的工作,把userid设计成指针的标志量
这样后来可以sql="select * from userinfo where userid="&userid&""
这里直接用form传过来的数据更新可能会造成逻辑错误,所以不推荐

sql="update userinfo set userid='"&userid&"',userpasswd='"&userpasswd&"',username='"&username&"',usernum='"&userenum&"',useremail='"&useremail&"',usercomment='"&usercomment&"' where userid='"&old_userid&"'"
你不觉得奇怪么?
update userinfo set 。。。。。。。
改成select 字段名 from 表 where
然后在update

错误类型呢`~~~贴出来吧
这样不好看出来`~``