zqwuwei的技术博客

理论指导实践,在实践中更好的理解理论
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

asp备忘之调试开关 -- on error resume next

Posted on 2018-06-09 22:09  zqwuwei  阅读(500)  评论(0编辑  收藏  举报
 1 on error resume next
 2 
 3 connstr="provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(""&db&"")
 4 
 5 set conn=server.createobject("ADODB.CONNECTION")
 6 if err then
 7     err.clear
 8 else
 9     conn.open connstr
10 end if
11 
12 set rs=server.createobject("adodb.recordset")
13 
14 rs.open "select * from tbl_xxx",conn,1,1
15 
16 if rs.eof then 
17     response.write(" rs.eof ")
18 end if
19 
20 if not rs.eof then 
21     response.write(" Not rs.eof ")
22 end if

执行结果:
“ rs.eof  Not rs.eof ”

这也行,多年不写asp的我百思不得其解。 经过多次尝试终于发现是由于 “on error resume next”屏蔽了错误, 导致出现了我不解的结果。 把这个选项关闭之后,一切的问题就都能定位了。

 

问题及参考:

1. win7 + iis 7 运行asp设置 https://blog.csdn.net/tangdc88/article/details/47190183

应用程序池设置为经典模式,启用32位
2. connection string使用: connstr="provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.mappath(""&db&"")

3. vbscript on error 总结:https://www.jb51.net/article/17323.htm