CDaoRecordset::IsBOF
调用此成员函数,在从记录滚动到记录了解之前是否转到,在记录集的第一条记录之前。
BOOL IsBOF( ) const;
返回值
非零,如果记录集不包含记录,或者后滚,在第一条记录之前;否则为0。
备注
可以使用 IsEOF 时也称为 IsBOF 确定记录集是否包含任何记录或为空。 在调用 Open后,因此,如果记录集不包含记录,IsBOF 返回非零。 当您打开包含至少一个记录的记录集时,第一条记录为当前记录,并 IsBOF 返回0。
如果第一个记录为当前记录,并且您调用 MovePrev,IsBOF 随后将返回非零。 如果 IsBOF 返回非零,并且您调用 MovePrev,将引发异常。 如果 IsBOF 返回非零,当前记录未定义,因此,需要一个当前记录的所有事件导致异常。
给定方法的效果 IsBOF 和 IsEOF 设置:
调用内部 Open 通过调用 MoveFirst在记录集中的第一条记录当前记录。 因此,对空 Open 一组记录导致 IsBOF 和 IsEOF 返回非零。 (对于不限定 MoveFirst 或 MoveLast 的行为参见下表称为。)
所有移动成功地定位记录原因 IsBOF 和 IsEOF 返回0的操作。
AddNew 调用后跟 Update 调用插入新记录将成功导致 IsBOF 返回0,不过,只有当 IsEOF 已为非零值。 IsEOF 状态将始终不变。 所定义的Microsoft Jet数据库引擎,空记录集的当前记录指针位于文件的末尾,因此,所有新记录在当前记录后插入。
所有 Delete 调用,因此,即使它从记录集移除唯一的剩余的记录,则不会更改 IsBOF 或 IsEOF的值。
此表显示哪些移动操作允许使用 IsBOF/IsEOF的不同组合。
|
MoveFirst,MoveLast |
MovePrev, 移动< 0 |
移动0 |
MoveNext, 移动> 0 |
---|---|---|---|---|
IsBOF=nonzero, IsEOF=0 |
允许 |
异常 |
异常 |
允许 |
IsBOF=0, IsEOF=nonzero |
允许 |
允许 |
异常 |
异常 |
非零两个 |
异常 |
异常 |
异常 |
异常 |
两0 |
允许 |
允许 |
允许 |
允许 |
允许滚动操作并不意味着操作成功定位记录。 它只指示尝试执行指定的移动该权限并且不会生成异常。 由于所尝试的移动,IsBOF 和 IsEOF 成员函数的值可以更改。
的移动操作的效果不定位记录 IsBOF 和 IsEOF 设置的值如下表所示。
|
IsBOF |
IsEOF |
---|---|---|
MoveFirst,MoveLast |
非零 |
非零 |
Move 0 |
无更改 |
无更改 |
MovePrev,Move < 0 |
非零 |
无更改 |
MoveNext,Move > 0 |
无更改 |
非零 |
有关相关信息,请参见主题“BOF,EOF属性” DAO帮助。
要求
Header: afxdao.h