您的位置:首页 > 其它

【学生信息管理系统】EOF 和 BOF

2014-08-14 22:13 218 查看
敲完学生信息管理系统时,在删除信息的时候,经常会出现下图这样的错误,遇到问题就要解决问题。经过查阅理解了记录集Recordset的EOF和BOF属性,用这两个属性可以知道记录集中是否有信息存在。



EOF和BOF属性

BOF 指示当前记录位置位于 Recordset 对象的第一个记录之前。

EOF 指示当前记录位置位于 Recordset 对象的最后一个记录之后。
返回值:BOF 和 EOF 属性返回布尔型值。

使用 BOF 和 EOF 属性可确定Recordset 对象是否包含记录,或者从一个记录移动到另一个记录时是否超
出 Recordset 对象的限制。

如果当前记录位于第一个记录之前,BOF 属性将返回 True ,如果当前记录为第一个记录或位于其后则将返回 False 。
如果当前记录位于 Recordset 对象的最后一个记录之后 EOF 属性将返回 True,而当前记录为 Recordset 对象的最后一个记录或位于其前,则将返回 False。
如果 BOF 或 EOF 属性为 True,则没有当前记录。

如果打开没有记录的 Recordset 对象,BOF 和 EOF 属性将设置为 True,而 Recordset 对象的RecordCount
属性设
置为零。打开至少包含一条记录的 Recordset 对象时,第一条记录为当前记录,而 BOF 和 EOF 属性为 False。

如果删除 Recordset 对象中保留的最后记录,BOF 和 EOF 属性将保持 False,直到重新安排当前记录。

 以下表格说明不同 BOF 和 EOF 属性组合所允许的 Move 方法。
 产生上图的错误,就是因为在执行代码的时候,下面这张图中的错误避免导致的。

 
MoveFirst,
MoveLast
MovePrevious,
Move < 0
Move 0
MoveNext,
Move > 0
BOF=True,
EOF=False
允许
错误
错误
允许
BOF=False,
EOF=True
允许
允许
错误
错误
同时为 True
错误
错误
错误
错误
同时为 False
允许
允许
允许
允许
 
    允许使用 Move 方法并不能保证该方法成功定位记录,只是意味着调用指定的 Move 方法不会产生错误。
下表说明当调用各种 Move 方法但未成功定位记录时 BOF 和 EOF 属性设置所发生的情况。
 

 
BOF
EOF
MoveFirst, MoveLast
设置为 True
设置为 True
Move 0
没有变化
没有变化
MovePrevious, Move < 0
设置为 True
没有变化
MoveNext, Move > 0
没有变化
设置为 True
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: