急急急! 不可能发生的小问题,但发生了,怎么办! 求助

bihoo88 2005-09-13 09:17:54
代码是要求用户在登录时让登录次数加1,但总是加2,试了各种方法都不行。

if UserPassword=rs("UserPassword") and admin=rs("AdminName") then
session(DEF_AdminSession)=trim(rs("AdminName"))
session("rank")=int(rs("rank"))
session.Timeout=200
response.Cookies(DEF_AdminCookies)("admin")=admin
rs("LastLogin")=now()
rs("Logins")=rs("Logins")+1
rs("LastIP")=Request.ServerVariables("REMOTE_ADDR")
rs.Update
rs.Close
set rs=nothing
CloseConn()
response.Redirect "index.asp"
else
rs.Close
set rs=nothing
CloseConn()
showErrInfo("你的密码错误,登录失败!")
end if
...全文
123 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoyaolz 2005-09-13
  • 打赏
  • 举报
回复
'逍遥浪子编程
'网志:http://blog.csdn.net/xiaoyaolz
'交个朋友,一起编程,学习,一生的朋友
关注
bihoo88 2005-09-13
  • 打赏
  • 举报
回复
原因找到,过后再传。
bihoo88 2005-09-13
  • 打赏
  • 举报
回复
代码不可能执行两次,如果是那样,我就进入死循环了。
rokky 2005-09-13
  • 打赏
  • 举报
回复
你的这段代码是不是就是index.asp里面的?
jingxiaoping 2005-09-13
  • 打赏
  • 举报
回复
应该是代码执行了2遍,你查查原因吧。
bihoo88 2005-09-13
  • 打赏
  • 举报
回复
我在rs("Logins")=rs("Logins")+1前和后各加了一条response.write rs("logins") 进行测试,
response.write rs("logins")
rs("Logins")=rs("Logins")+1
response.write rs("logins")

显示的结果很正常,就是每次都加1,在代码里我去掉了response.Redirect "index.asp",是不是这句有问题呢?我再看看。
runtu 2005-09-13
  • 打赏
  • 举报
回复
set rs=Server.CreateObject("ADODB.RecordSet")
sql="update SW_ShopInfo set logins = logins + 1 where adminname='"&admin&"'"
rs.open sql,conn,3,3
bihoo88 2005-09-13
  • 打赏
  • 举报
回复
那sql="update SW_ShopInfo set logins = logins + 1 where adminname='"&admin&"'"
conn.execute(sql) 后不知得到什么结果

得到的结果还是加2
zmy0611 2005-09-13
  • 打赏
  • 举报
回复
可能是你的代码执行了2遍的原因,用Response看不出执行了2遍的,用写文件的方式看看呢
ufo20020427 2005-09-13
  • 打赏
  • 举报
回复
那sql="update SW_ShopInfo set logins = logins + 1 where adminname='"&admin&"'"
conn.execute(sql) 后不知得到什么结果



说一下
sql="..."
conn.execute(sql)

与set xxx=conn.execute(sql)

有些情况下是不同的,具体我也分不太清楚。
nbchp 2005-09-13
  • 打赏
  • 举报
回复
rs("Logins")=rs("Logins")+1

这个代码前加个语句测试看看。
response.write rs("logins")

再运行程序看看,在增加1之前,这个值是多少?

bihoo88 2005-09-13
  • 打赏
  • 举报
回复
sql="update SW_ShopInfo set logins = logins + 1 where adminname='"&admin&"'"
conn.execute(sql)

试了这种也不行。
bihoo88 2005-09-13
  • 打赏
  • 举报
回复
试了你说的方法,也不行。


我记得rs是指针,直接加可能有问题。

我是用sql语句直接加的,例如:
set addrehits=conn.execute("update message set rehits="&first("rehits")+1&" where id="&reid)
ufo20020427 2005-09-13
  • 打赏
  • 举报
回复
我记得rs是指针,直接加可能有问题。

我是用sql语句直接加的,例如:
set addrehits=conn.execute("update message set rehits="&first("rehits")+1&" where id="&reid)
bihoo88 2005-09-13
  • 打赏
  • 举报
回复
怎么做,谢谢了?
qoo1983 2005-09-13
  • 打赏
  • 举报
回复
你要锁定application再计算吧
bihoo88 2005-09-13
  • 打赏
  • 举报
回复
数据库是ACCESS,其它如记录最后登录时间,最后登录IP均无问题,记录登录次数加1,但加了2,有个别时加1。

28,406

社区成员

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

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