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 (請參閱 RecordCount 屬性,以取得 Recordset 此狀態的詳細資訊)。 當您開啟至少包含一筆記錄的 Recordset 物件時,第一筆記錄是目前記錄,而 BOF 和 EOF 屬性為 False。
如果您刪除 Recordset 物件中的最後一筆剩餘記錄,BOF 和 EOF 屬性可能會維持 False,直到您嘗試重新置放目前記錄為止。
下表顯示哪些 Move 方法可以與 BOF 和 EOF 屬性的不同組合搭配使用。
MoveFirst, MoveLast |
MovePrevious, 移動 < 0 |
移動 0 | MoveNext, 移動 > 0 |
|
---|---|---|---|---|
BOF=True,EOF=False | 允許 | 錯誤 | 錯誤 | 允許 |
BOF=False,EOF=True | 允許 | 允許 | 錯誤 | 錯誤 |
兩者都是 True | 錯誤 | 錯誤 | 錯誤 | 錯誤 |
兩者都是 False | 允許 | 允許 | 允許 | 允許 |
允許 Move 方法不保證方法會成功找到記錄;其只表示呼叫指定的 Move 方法不會產生錯誤。
下表顯示當您呼叫各種 Move 方法,但無法成功找到記錄時,BOF 和 EOF 屬性設定會發生什麼情況。
BOF | EOF | |
---|---|---|
MoveFirst、MoveLast | 設定為 True | 設定為 True |
移動 0 | 沒有變更 | 沒有變更 |
MovePrevious、Move< 0 | 設定為 True | 沒有變更 |
MoveNext、Move> 0 | 沒有變更 | 設定為 True |