|
主题: 这个判断为什么没用?
|
楚楚
职务:普通成员
等级:1
金币:1.0
发贴:187
|
#12003/10/27 10:03:35
麻烦高手帮我看看,红色的这个判断为什么没用? 我的愿意是要 cz="del" ,img 、huoli都减1。 但事实上没有减少。 我错在哪儿?应该怎样写?谢谢。 <% if Request.QueryString("cz")="" then Response.Redirect"mminfo.asp?info=错误的参数" else cz=Request.QueryString("cz") end if
if cz="del" then conn.execute "delete from desktop where id="&Request.QueryString("id") Response.Redirect"mmadminfile.asp" rs_lar("img")=rs_lar("img")-1 rs_lar("huoli")=rs_lar("huoli")-1 rs_lar.update rs_lar.close end if else
.... ....
if cz="addfile" then rs_lar("img")=rs_lar("img")+1 rs_lar("huoli")=rs_lar("huoli")+1 end if rs_lar.update rs_lar.close set rs=nothing conn.close Set conn=Nothing if cz="addfile" then Response.Redirect"mmadd.asp" end if if cz="editfile" then Response.Redirect"mmadminfile.asp"
end if
.... ....
|
缺缺
职务:管理员
等级:8
金币:41.0
发贴:9620
|
#22003/10/27 10:30:46
Response.redirect 就已经转向了,下面的还没有来得及执行
|
raynube
职务:普通成员
等级:1
金币:0.0
发贴:34
|
#32003/10/27 22:52:22
conn.execute "delete from desktop where id="&Request.QueryString("id") rs_lar("img")=rs_lar("img")-1 rs_lar("huoli")=rs_lar("huoli")-1 rs_lar.update rs_lar.close Response.Redirect"mmadminfile.asp" end if
|
楚楚
职务:普通成员
等级:1
金币:1.0
发贴:187
|
#42003/10/28 8:49:47
现在我将这个文件精简到了仅仅下面的内容,程序运行正确,但仍然那个判断不起作用。 也就是if cz="del" 的时候,rs_lar("img")=rs_lar("img")-1和rs_lar("huoli")=rs_lar("huoli")-1并没有减少。 奇怪呀。这是怎么回事?
<% if Request.QueryString("cz")="" then Response.Redirect"mminfo.asp?info=错误的参数" else cz=Request.QueryString("cz") end if if cz="del" then conn.execute "delete from desktop where id="&Request.QueryString("id") rs_lar("img")=rs_lar("img")-1 rs_lar("huoli")=rs_lar("huoli")-1 end if rs_lar.update rs_lar.close Response.Redirect"mmadminfile.asp" set rs=nothing conn.close Set conn=Nothing %>
这里涉及到两个数据库。 delete from desktop 是一个数据库,rs_lar是另一个数据库。
|
null
职务:普通成员
等级:1
金币:0.0
发贴:15
|
#52003/10/28 12:31:40
呵呵,你的rs_lar命名的记录集,怎么没看到建立的语句? 还有,怎么最后又来个set rs=nothing——没看到rs是什么啊
|
楚楚
职务:普通成员
等级:1
金币:1.0
发贴:187
|
#62003/10/28 16:17:15
记录集在前面: <%
'叛断Session变量是否超时 if isempty(session("u_id")) or session("u_id")="" then response.redirect "timeout.asp" end if
if session("u_id")=1 then response.redirect "../notreg.asp"
'叛断此用户是否已经注册 Set conn1 = Server.CreateObject("ADODB.Connection") DBPath1 = Server.MapPath("date.mdb") conn1.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath1 Set rs_lar = Server.CreateObject("ADODB.Recordset") sql="select * from larchives where user_id =" & session("u_id") rs_lar.open sql,conn1,3,2
if rs_lar.eof and rs_lar.bof then response.redirect "notregist.asp" response.end end if %>
我现在改成这样了: ...... ...... if cz="del" then conn.execute "delete from desktop where id="&Request.QueryString("id") conn.execute "update rs_lar("img")=rs_lar("img")-1 where user_id =" & session("u_id")" conn.execute "update rs_lar("huoli")=rs_lar("huoli")-1 where user_id =" & session("u_id")" Response.Redirect"mmadminfile.asp" set rs=nothing conn.close Set conn=Nothing %>
运行时提示说语句未结束。 帮忙搞定呀,眼看要成功了。谢谢大家。
|
null
职务:普通成员
等级:1
金币:0.0
发贴:15
|
#72003/10/28 17:16:47
conn.execute "update rs_lar("img")=rs_lar("img")-1 where user_id =" & session("u_id")" conn.execute "update rs_lar("huoli")=rs_lar("huoli")-1 where user_id =" & session("u_id")"
是否这两个红色的引号的问题?
|
raynube
职务:普通成员
等级:1
金币:0.0
发贴:34
|
#82003/10/28 21:27:14
......
<%if cz="del" then
conn.execute "delete from desktop where id="&Request.QueryString("id")
conn.execute "update rs_lar("img")=rs_lar("img")-1 where user_id =" & session("u_id")"
conn.execute "update rs_lar("huoli")=rs_lar("huoli")-1 where user_id =" & session("u_id")"
Response.Redirect"mmadminfile.asp"
[color=red]end if[/color]
set rs=nothing
conn.close
Set conn=Nothing
|
风之翅
职务:普通成员
等级:2
金币:10.0
发贴:540
|
#92003/10/29 16:29:23
conn.execute "update larchives set img = img - 1,huoli = huoli - 1 where user_id =" &session("u_id") 一个是没有表名,还有一个就是楼上说的最后那个"是多余的,试试
编辑历史:[此帖被jhsdx编辑过(编辑时间2003-10-29 16:35:40)] [此帖被jhsdx编辑过(编辑时间2003-10-29 16:36:58)] [此帖被jhsdx编辑过(编辑时间2003-10-29 16:39:30)]
|
楚楚
职务:普通成员
等级:1
金币:1.0
发贴:187
|
#102003/10/30 8:41:16
这里有两个数据库,我希望当删掉mmdb/mm.mdb 中某条记录的时候,能够更新mdb/date.mdb的相关记录。 程序运行正常,就是这句代码不起作用: rs_lar("huoli")=rs_lar("huoli")-1 rs_lar("img")=rs_lar("img")-1
全部代码非常简单,如下:
<% Set conn1 = Server.CreateObject("ADODB.Connection") DBPath1 = Server.MapPath("mdb/date.mdb") conn1.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath1 Set rs_lar = Server.CreateObject("ADODB.Recordset") sql="select * from larchives where user_id =" & session("u_id") rs_lar.open sql,conn1,3,2
if rs_lar.eof and rs_lar.bof then response.redirect "notregist.asp" response.end end if %> <% dim conn dim connstr on error resume next connstr="DBQ="+server.mappath("mmdb/mm.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};" set conn=server.createobject("ADODB.CONNECTION") conn.open connstr %>
<% dim sql dim rs set rs=server.createobject("adodb.recordset") sql="delete from desktop where id="&Request.QueryString("id") rs.open sql,conn,1,1 rs.close set rs=nothing conn.close rs_lar("huoli")=rs_lar("huoli")-1 rs_lar("img")=rs_lar("img")-1 rs_lar.update rs_lar.close set conn=nothing Response.Redirect"mmadminfile.asp" %>
huoli 跟 img 都是数字类型的. 在执行添加的时候, rs_lar("huoli")=rs_lar("huoli")+1 rs_lar("img")=rs_lar("img")+1 一切正常。 但是删除的时候,就死活不变了。
我希望: 1、在会员上传一张图片的时候,他的活力“huoli”和图片计数"img"都自动加1。 2、当管理员删除他的一张图片的时候,他的活力“huoli”和图片计数"img"都自动减少1。
现在我的第一个希望实现了。但第二个死活没法成功。
全部代码就在这里,很简单的代码。找不出原因来…… 看来我只能放弃第二个要求呢,删掉图片,他的活力等都不减少…… 喜欢钻研的高手不妨继续研究一下,我已经放弃了。 :eek:
编辑历史:[此帖被lemontree编辑过(编辑时间2003-10-30 10:58:11)]
|
风之翅
职务:普通成员
等级:2
金币:10.0
发贴:540
|
#112003/10/30 20:28:22
我觉的是逻辑的问题 这个页面应该是管理员操作的吧 怎么拿管理员的session("u_id")来找注册用户的记录集 那你删除的就是管理员的活力和图片数
|