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 | 没有变化 | 没有变化 |
MovePrevious、Move< 0 | 设置为“True” | 没有变化 |
MoveNext, Move> 0 | 没有变化 | 设置为“True” |