BOF、EOF 属性 (ADO)

  • BOF 指示当前记录位置在 Recordset 对象中的第一条记录之前。

  • EOF 指示当前记录位置在 Recordset 对象中的最后一条记录之后。

返回值

BOF 和 EOF 属性返回布尔值。

备注

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

如果当前记录位置在第一条记录之前,则 BOF 属性返回 True (-1),如果当前记录位置在第一条记录之中或之后,则返回 False (0)。

如果当前记录位置在最后一条记录之后,EOF 属性返回 True,如果当前记录位置在最后一条记录之中或之前,则返回 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 没有变化 没有变化
MovePreviousMove< 0 设置为“True” 没有变化
MoveNext, Move> 0 没有变化 设置为“True”

应用于

记录集对象 (ADO)

另请参阅

BOF、EOF 和 Bookmark 属性示例 (VB)
BOF、EOF 和 Bookmark 属性示例 (VC++)