沈阳和平区邮政编码:BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 14:21:56

呵呵,前几天我才问过这样的问题呢!
有朋友给我的答复,你看看:

粗略一看,你的代码中确实存在记录集为空但仍然执行的漏洞,例如你的下面两句:
If Not rsmessage.EOF Or Not rsmessage.BOF Then 中的OR应该改为AND才行,后面的代码你自己检查一下看是否也存在这样的漏洞。

看来你需要了解一下EOF和BOF是干什么用的,我给你些资料你看看:

BOF指示当前记录的位置在 Recordset 对象的第一个记录之前。
EOF指示当前记录的位置在 Recordset 对象的最后一个记录之后。

使用 BOF 和 EOF 属性确定 Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超出 Recordset 对象的限制。
如果当前记录位于第一个记录之前,则 BOF 属性返回 True ()。
如果当前记录是第一个记录或位于第一个记录之后,则返回 False。
如果当前记录位于最后一个记录之后,则 EOF 属性返回 True。
如果当前记录是最后一个记录或位于最后一个记录之前,则返回False。
如果 BOF 或 EOF 属性为 True,则没有当前记录。

如果打开不包含记录的 Recordset 对象,则 BOF 和 EOF 属性被设置为 True,Recordset 对象的 RecordCount 属性设置为零。当打开至少包含一个记录的 Recordset 对象时,第一个记录是当前记录,并且 BOF 和 EOF 属性均为 False。

如果删除 Recordset 对象中保留的最后一个记录,BOF 和 EOF 属性将保持 False,直到重新定位当前记录为止。

呵呵,我也是在学习ASP呢,想和你做个朋友,一起学习,不知道可不可以?