CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

太奇怪了!!同样的代码在session_onstart()里可以执行,在session_onend()里无法执行

楼主phuson(寂寞沙洲)2006-03-20 10:23:49 在 Web 开发 / ASP 提问

Dim   strDBPath,strDBConnection,conn1  
  strDBPath=Server.MapPath("db1.mdb")  
  strDBConnection="Driver={Microsoft   Access   Driver   (*.mdb)};DBQ="   &   strDBPath   &   ";"  
  Set   conn1=Server.CreateObject("ADODB.Connection")  
  conn1.Open   strDBConnection  
  Dim   exec1  
  exec1="insert   into   xt_rizhi   (login_user_id)   values   ('test_session_onend')"  
  conn1.execute   exec1  
  conn1.Close  
  Set   conn1=Nothing  
   
  就是以上这段代码(假设为代码A),放在global.asa文件的Session_OnStart()里完全正常,打开数据库,确实已经插入了一条记录;但是把它移到Session_OnEnd()里却无法执行。  
   
  开始我以为是Session_OnEnd()没有触发,事实上不是,因为我换了另一段往SqlServer库写数据的代码(假设为代码B)放在Session_OnEnd()里面,结果证明是可以执行的。  
   
  但是如果我把代码B放在代码A后面,则两段代码均不执行;而代码B放在代码A的前面,则代码B执行,代码A仍然不执行。  
   
  请各位高手帮我看看,,谢谢了!!! 问题点数:50、回复次数:12Top

1 楼phuson(寂寞沙洲)回复于 2006-03-20 13:28:39 得分 0

upTop

2 楼wanglh100(悍卫钓鱼岛)回复于 2006-03-20 13:45:07 得分 13

是不是变量重定义造成的?  
  Session_OnStart里变量换一下看看.Top

3 楼phuson(寂寞沙洲)回复于 2006-03-20 14:01:12 得分 0

谢谢!  
  你指的变量重定义是指哪里和哪里的变量重复定义呢?  
   
  我在测试时就只有那一段代码,没有别的代码,不太可能重复。Top

4 楼s1ihome(My hometown is a beautiful village)回复于 2006-03-20 14:12:32 得分 12

难道和连接有关系?  
  试一下把连接access的字符串更改一下呢  
   
  Top

5 楼phuson(寂寞沙洲)回复于 2006-03-20 15:57:45 得分 0

关键是同样的代码,在onstart里可以执行,而在onend()里却不能执行。Top

6 楼phuson(寂寞沙洲)回复于 2006-03-20 21:59:01 得分 0

好奇怪的事!Top

7 楼phuson(寂寞沙洲)回复于 2006-04-06 13:19:57 得分 0

还是没解决啊,期待……Top

8 楼lixingjian()回复于 2006-04-06 13:26:05 得分 13

嗯!我也见到过类似的事情,就是统计在线人数,我在global.asa文件中统计,结果上线人数没问题,可一下线就不对了,问题也是出在session_onend的那,目前不知道原因,后来我只能用手工编写了!Top

9 楼phuson(寂寞沙洲)回复于 2006-04-07 09:17:16 得分 0

upTop

10 楼phuson(寂寞沙洲)回复于 2006-04-11 13:27:21 得分 0

问题还是没解决,但是有新的情况,我另开了一个帖子,麻烦各位高手帮我看看:  
   
  http://community.csdn.net/Expert/topic/4674/4674628.xml?temp=.4078333Top

11 楼subasan(暴走的拖鞋)回复于 2006-04-11 13:33:13 得分 12

重定义??  
  Dim   strDBPath,strDBConnection,conn1?  
  Dim   exec1  
   
  ??  
  Top

12 楼phuson(寂寞沙洲)回复于 2006-04-11 14:05:35 得分 0

肯定没有重定义的问题,这里贴的代码比较不规范,  
   
  事实上,我把这OnEnd里的代码单独取出放在一个页面里是可以执行的。Top

相关问题

  • Session_OnStart() ,Session_OnEnd()的用法
  • Application_OnStart, Application_OnEnd, Session_OnStart, Session_OnEnd 它们响应请求的顺序和时机是怎样的?
  • 为什么global.asa的Session_OnEnd事件中的数据库删除代码不运行?
  • 新手请教Session 的Session_OnStart() Seesion_OnEnd()该放在什么样的页面中?
  • 当Session结束时,Session_onEnd过程被激发,我们能不能在其中写代码删除本站点的临时目录下的文件?
  • 关于session_onstart
  • 用session_onend事件判断一个用户是否在线,可是为什么不执行此事件中的代码?
  • 跪求:遍历session对象代码
  • 请教一段关于session的代码?
  • Session_OnEnd问题(急!!!)

关键词

  • 代码
  • 执行
  • onend
  • onstart
  • strdbpath
  • 变量
  • strdbconnection
  • 放在
  • 重定义
  • conn

得分解答快速导航

  • 帖主:phuson
  • wanglh100
  • s1ihome
  • lixingjian
  • subasan

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo