CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  ASP

global.asa文件的一个奇怪问题:找不到元素

楼主woshihuzi(我是胡子)2005-08-02 10:42:01 在 Web 开发 / ASP 提问

错误描述:  
  ===============================================================================  
  错误类型:  
  (0x8002802B)  
  找不到元素。    
  /dahuzi/global.asa,   第   6   行  
   
   
  浏览器类型:  
  Mozilla/4.0   (compatible;   MSIE   6.0;   Windows   NT   5.1;   SV1;   .NET   CLR   1.1.4322)    
   
  网页:  
  GET   /dahuzi/login/login.asp    
   
  时间:  
  2005年8月2日,   10:35:33    
   
   
  详细信息:  
  Microsoft   支持    
  ===============================================================================  
   
   
   
  代码(前13行)  
  ===============================================================================  
  <SCRIPT   LANGUAGE=VBScript   RUNAT=Server>  
   
  Sub   Application_onStart    
          dim   conn  
          set   conn=server.createobject("adodb.connection")  
          exec="Provider=Microsoft.Jet.OLEDB.4.0;Data   Source='"   &   Request.ServerVariables("APPL_PHYSICAL_PATH")   &   "login/logini.asp'"  
          conn.open   exec  
          conn.begintrans  
          conn.execute   "delete   *   from   [count]"  
          conn.execute   "insert   into   [count]([total],[current])   values(0,0)"  
          conn.committrans  
          set   conn   =   nothing  
  End   Sub    
  ===============================================================================  
   
  比较有意思的是:第一次启动localhost上的这个网站,就出现这个错误,我点击一下刷新按钮,就正常显示登陆页面了。  
   
  请高手们告诉如何解决这个问题。 问题点数:20、回复次数:8Top

1 楼lxcooi(流星の梦)回复于 2005-08-02 10:54:15 得分 10

据我所知  
  Application_onStart  
  过程中不能使用  
  Request,Response,Session对象  
  要处理的话请到  
  Session_onStartTop

2 楼xiaobird1(Vincent)回复于 2005-08-02 11:10:44 得分 5

没错,楼上正解  
   
  使用的话,IIS也不会报正确代码行有错误,只会报找不到元素,我当初也研究半天才发现这个错误,就因为使用了一句Response.WriteTop

3 楼woshihuzi(我是胡子)回复于 2005-08-02 13:18:55 得分 0

我的本意是想找到数据库的正确位置,只要能找到这个位置,我就可以不用  
  Request.ServerVariables("APPL_PHYSICAL_PATH")    
  这个冬冬了。  
   
  不过,让我头疼的是,如果用server.mappath("db/syl.asp"),得不到正确的结果。因为激发Application_onStart   事件的网页位置可能不同,所以数据库的位置不能正确找到。我只好用  
  Request.ServerVariables("APPL_PHYSICAL_PATH")    
  来做了。  
   
  哪位高手能帮我找到正确的数据库位置呢?  
   
  Top

4 楼lxcooi(流星の梦)回复于 2005-08-02 14:17:10 得分 5

楼主的意思大概明白,在不改变楼主数据记录方式条件下,以下二种方法可以一试。  
  一、用server.mappath(".")来得到激发路径,然后再找数据库就行了。  
  二、设置一个Application变量,作个标志。然后在Session_onStart中执行代码。Top

5 楼woshihuzi(我是胡子)回复于 2005-08-02 15:03:24 得分 0

我用数据的一个表记录登陆的总人数历史统计和在线登录人数统计。我所需要的功能是在  
  Application_onStart  
  事件中把这两个人数统计字段清零。  
  如果有更好的办法实现这个功能,我就不用在global.asa文件中使用  
  Request.ServerVariables("APPL_PHYSICAL_PATH")  
  之类的东东了。Top

6 楼lxcooi(流星の梦)回复于 2005-08-02 16:48:37 得分 0

我不明楼主的数据库中记录的是什么,,如果只是记录在开机期间的数据(即重启清空)用Application变量就行了,为什么还要用数据库??Top

7 楼woshihuzi(我是胡子)回复于 2005-08-02 17:29:27 得分 0

使用数据库的目的是保存总的访问量。  
  当机器重启之后,我要让总访问量等于关机之前的数据库记录的值,只当前在线用户清零。这似乎只能在Application_onStart  
  事件中才能做到吧。Top

8 楼woshihuzi(我是胡子)回复于 2005-08-03 10:18:46 得分 0

谢谢各位,问题圆满解决,global.asa文件代码如下:  
   
  <SCRIPT   LANGUAGE=VBScript   RUNAT=Server>  
   
  Sub   Application_onStart    
   
          Application.Lock  
          Application("DahuziTotalCounter")   =   0  
          Application("DahuziCurrentCounter")   =   0  
          Application.UnLock  
           
  End   Sub    
   
   
   
  Sub   Session_onStart    
   
          '   规定会话5分钟超时  
          session.timeout=5  
           
          dim   conn,connstr,rs,exec,theDbTotal  
   
          '   创建conn对象和rs对象  
          set   conn=server.createobject("adodb.connection")  
          connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   &   Request.ServerVariables("APPL_PHYSICAL_PATH")   &   "/login/logini.asp"  
          conn.open   connstr  
          exec="select   *   from   [count]"  
          set   rs=server.createobject("adodb.recordset")  
           
          '取出表里面存的网站访问总量  
          rs.open   exec,conn,1,1  
          theDbTotal=CLng(trim(rs("total")))  
           
          '如果Application("DahuziTotalCounter")等于0,说明服务器可能重新启动过  
          '网站的访问总人数应该以数据库为准  
          if   Application("DahuziTotalCounter")>0   then  
                  theDbTotal=Application("DahuziTotalCounter")  
          end   if  
           
          '更新Application("DahuziTotalCounter")和Application("DahuziCurrentCounter")  
          Application.Lock  
          Application("DahuziTotalCounter")=theDbTotal+1  
          Application("DahuziCurrentCounter")=Application("DahuziCurrentCounter")+1  
          Application.UnLock  
           
          '根据修改后的Application变量值更新数据库  
          conn.begintrans  
          conn.execute   "delete   *   from   [count]"  
          conn.execute   "insert   into   [count]([total],[current])   values("   &   CStr(Application("DahuziTotalCounter"))   &   ","   &   cstr(Application("DahuziCurrentCounter"))   &")"  
          conn.committrans  
          set   conn   =   nothing  
  End   Sub    
   
   
   
  Sub   Session_onEnd        
           
          Session("UserName")   =   ""  
          Session("UserID")   =   ""  
          Session("UserType")   =   ""  
   
          '更新Application("DahuziCurrentCounter")  
          Application.Lock  
          Application("DahuziCurrentCounter")=Application("DahuziCurrentCounter")-1  
          if   Application("DahuziCurrentCounter")<0   then  
                  Application("DahuziCurrentCounter")=0  
          end   if  
          Application.UnLock  
   
          '更新数据库  
          dim   visitors,conn,rs,exec  
          set   conn=server.createobject("adodb.connection")  
          exec="Provider=Microsoft.Jet.OLEDB.4.0;Data   Source="   &   Request.ServerVariables("APPL_PHYSICAL_PATH")   &   "/login/logini.asp"  
          conn.open   exec  
      conn.begintrans  
          conn.execute   "Update   [count]   set   [current]="   &   cstr(Application("DahuziCurrentCounter"))  
          conn.committrans  
          set   conn   =   nothing  
   
  End   Sub    
         
  </SCRIPT>  
   
   
  Top

相关问题

  • 奇怪,奇怪
  • 奇怪,奇怪!
  • 奇怪奇怪???
  • 奇怪!奇怪
  • 奇怪奇怪...........?????...........
  • 奇怪!奇怪!真奇怪!!!
  • 奇怪奇怪真奇怪
  • 奇怪???奇怪??奇怪???
  • 奇怪奇怪真奇怪。
  • 奇怪奇怪奇怪................

关键词

得分解答快速导航

  • 帖主:woshihuzi
  • lxcooi
  • xiaobird1
  • lxcooi

相关链接

  • Web开发类图书

广告也精彩

反馈

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