报错~BOF或EOF中有一个是"真"...~~为什么加上on error resume next 就好使了!

来源:百度知道 编辑:UC知道 时间:2024/06/08 16:15:49
BOF或EOF中有一个是"真",或者当前的记录以被删除,所需的操作要求一个当前的记录
出现这个个错误是不是说明没有查询到数据(实际库中是有数据的)??
为什么加上这条语句就好使了?而且也会显示出查询内容???
on error resume next
rss.movefirst
在程序中我也加了判断了
if not rss.eof then
……
……
……
else
response.close
end if
开始是这样的,但是我发现查询出来的数据可以正常显示出来,
可是显示后同样也执行了 response.close
在response.close后面的语句就不执行了,显示不出来了
后来把response.close去掉就报错~
最后在end if后加上条On error resume next就完全正常了,
这是什么原因那 ?

首现你要明白这句话的意思on error resume next ,它是遇到错误,就不理错误,自动跳到下一行进行操作。
所以说,加上这句,不是好使了,而是把错误给屏蔽了。这只是一种消极的态度,是不提倡的,至少我是极力反对用此方法进行逃避错误。我写程序必用on error resume next 是因为在保证没有错误的条件下加上它,防止黑客攻击或者意外错误产生的。
你的sql有错误,导致没找到正确的数据,所以,你读出的错误极大的可能不是你所需要的。你没有贴出你的程序,故我在此无法替你解决。请仔细检查你的sql语句和打开数据表的那个open语句。
----------------------------

亲爱的朋友response.close 是错误的语句,response对象并不支持此方法,请用response.end
你的程序肯定有问题,不帖出来我无法替你解决

on erorr 能自动捕获异常进行转移,如同try catch

On error resume next是把错误给忽略掉了不报错而已,并不是没有错误了。你打开一个记录集后,要调用该记录集,最好先加个判断:
if not rss.eof then
……
rss.movefirst
……
end if
这样,就不会出现你所说的那个错误了。