主题:  搜索无结果时为何出错?

dayusky

职务:普通成员
等级:1
金币:0.0
发贴:77
注册:2002/7/5 23:42:07
#12002/7/9 8:23:11
一个搜索页面,在文本框里填入关键字提交后到结果页面,如果找到结果则列出来,显示完全正确,但没有找到匹配结果时则出现下列错误提示:
____________________

您要访问的页有问题,无法显示该页。
HTTP 500 - 内部服务器错误
Internet Explorer
____________________

我在结果页面用show region设置了if recrodset is empty命令,要求显示"No result!",在本地机调试一切正常,找不到结果时能显示"No result!",但上传到服务器上以后,却出现上述错误,不知道是什么原因?



我是小呆瓜

职务:普通成员
等级:3
金币:1.0
发贴:716
注册:2001/12/11 13:23:44
#22002/7/9 8:39:45
你把INTERNET选项里的显示友好HTTP错误信息去掉,看是什么错误,一般来说可以啊,我的就可以正常显示



dayusky

职务:普通成员
等级:1
金币:0.0
发贴:77
注册:2002/7/5 23:42:07
#32002/7/9 10:42:09
错误是:
-------------------
ADODB.Recordset 错误 '800a0bcd'

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

/result.asp,行63

------------------
63行代码是:
rs_mat.MoveFirst



感觉不错

职务:普通成员
等级:1
金币:0.0
发贴:83
注册:2001/11/29 13:44:53
#42002/7/10 13:08:36
我一般是采用隐藏的方法,不如你试试看?



缺缺

职务:管理员
等级:8
金币:41.0
发贴:9620
注册:2004/1/14 19:14:47
#52002/7/10 13:11:23
从提示来看,你做的if recrodset is empty没有做完全~~~肯定哪儿还有什么问题。你可以把动态部分放在一个表格中,然后选择整个表格做if recrodset is empty



5D荣誉斑竹

职务:普通成员
等级:2
金币:10.0
发贴:710
注册:2001/10/24 18:34:42
#62002/7/10 16:02:42
出现这种现象还是很正常的,MM的代码有很多问题,有时候你能正常的显示(有时候数据为空的也能显示),放到服务器上又不行了(这和IIS的设置有关)。

因为,我们在建立记录集后,还会做一些设置,比如:插入总记录数、使用跳转(Go TO Detail Page)等,都会在页上添加MM的代码(在记录集下面),这些代码都要用到记录集,如果记录空了,就会出错了。

我一般直接在记录集代码下面插入判断空的代码
if rs.eof and rs.bof then
response.write("记录空啦")
response.end
end if



lhhailei

职务:普通成员
等级:2
金币:1.0
发贴:319
注册:2002/6/10 11:50:16
#72002/7/10 17:50:51
用插件吧,今天我也是问了这个问题,一直没有很好的解决。最后用了一个当记录集为空时跳转到另外一个页。就搞定了