遇到从没见过的麻烦中!!!

ELement_DG 2009-09-04 03:29:24
无法对数据库中的值进行更新,不知道原因在哪里,请高手帮忙!!!

表 userb 字段 status

第一个页面 temp.asp 通过javascript语句进行跳转 ====>> User_AddStatus.asp 中

temp.asp 中 把用户名保存在cookies中

response.Cookies("Tem")("temp_username")=rs("username")

跳转到User_AddStatus中后 把值取出来了

===========================================================
<%
'获取当前用户名
dim Username,id,stats,sql
Username = request.Cookies("Tem")("temp_Username")

'对数据库进行查找操作
set rs_findByUsername = server.CreateObject("adodb.recordset")
rs_findByUsername.open "select * from [userb] where username='"&Username&"'",conn,1,1
id=rs_findByUsername("id") '把用户索引获取出来
stats=rs_findByUsername("status") '把用户当前状态值获取出来,状态status字段是整型

'对用户状态值进行判断
set rs_updateStatus = server.CreateObject("adodb.recordset")
rs_updateStatus.open sql,conn,3,3
if stats = 0 then
sql = "select * from [userb] where id = "&id&" order by id desc"
'对数据值进行修改操作
rs_updateStatus("status")=1
end if
if stats = 1 then
sql = "select * from [userb] where id = "&id&" order by id desc"
rs_updateStatus("status")=2
end if
if stats = 2 then
sql = "select * from [userb] where id = "&id&" order by id desc"
rs_updateStatus("status")=3
end if
rs_updateStatus.update
rs_updateStatus.close
set rs_updateStatus = Nothing
rs_findByUsername.close
set rs_findByUsername = Nothing
==================================================

之后对数据库进行查看,发现status值并没有被修改,我不知道问题出哪里了,数据库连接肯定没有问题,
...全文
58 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
toury 2009-09-04
  • 打赏
  • 举报
回复
看看数据库所在的文件夹是不是没放开WEB用户的修改权限?
hookee 2009-09-04
  • 打赏
  • 举报
回复

<%
'获取当前用户名
dim Username,id,stats,sql
Username = request.Cookies("Tem")("temp_Username")

Response.Write Username

'对数据库进行查找操作
set rs_findByUsername = server.CreateObject("adodb.recordset")
rs_findByUsername.open "select * from [userb] where username='" & Username & "'",conn,1,3
If rs_findByUsername.BOF And rs_findByUsername.EOF Then
Response.Write "没有找到用户名"
Response.End
Else
id = rs_findByUsername("id") '把用户索引获取出来
stats = rs_findByUsername("status").value '把用户当前状态值获取出来,状态status字段是整型
If IsNumeric(stats) Then
stats = Cint(stats)
Select Case stats
Case 0 rs_findByUsername("status") = 1
Case 1 rs_findByUsername("status") = 2
Case 2 rs_findByUsername("status") = 3
End Select
rs_findByUsername.update
Else
Response.Write "status is null"
End If
End If
rs_findByUsername.close
set rs_findByUsername = Nothing
conn.Close
%>
凡夫与俗子 2009-09-04
  • 打赏
  • 举报
回复
当然要考虑你的数据库连接是不是conn.open。。
凡夫与俗子 2009-09-04
  • 打赏
  • 举报
回复
'对用户状态值进行判断 
if stats = 0 then
sql = "update [userb] set status=0 where id = "&id&" order by id desc"
end if
if stats = 1 then
sql = "update [userb] set status=1 where id = "&id&" order by id desc"
end if
if stats = 2 then
sql = "update [userb] set status=2 where id = "&id&" order by id desc"
end if
conn.execute(sql)

'如果后面没有数据库操作就关闭连接
conn.close
set conn=nothing


ELement_DG 2009-09-04
  • 打赏
  • 举报
回复
我是个初手,所以希望大家能帮帮忙

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧