BOF、EOF 屬性 (ADO)
BOF 指出目前的記錄位置在 Recordset 物件中的第一筆記錄之前。
EOF 指出目前的記錄位置是在 Recordset 對象中最後一筆記錄之後。
傳回值
BOF 和 EOF 屬性會傳回布爾值 值。
言論
使用 BOF 和 EOF 屬性來判斷 Recordset 物件是否包含記錄,或者當您從記錄移至記錄時,是否已超出 Recordset 物件的限制。
如果目前的記錄位置位於第一筆記錄之前,BOF 屬性會傳回 true True (-1),如果目前記錄位置位於第一筆記錄上或之後,則 傳回 False (0)。
EOF 屬性會傳回 true True 如果當前記錄位置是在最後一筆記錄之後,則傳回 False 目前的記錄位置為開啟或最後一筆記錄之前。
如果 BOF 或 EOF 屬性 True,則沒有目前的記錄。
如果您開啟不含記錄的 Recordset 物件,BOF 和 EOF 屬性會設定為 True (如需 Recordset狀態的詳細資訊,請參閱 RecordCount 属性)。 當您開啟包含至少一筆記錄的 Recordset 物件時,第一筆記錄是當前記錄,而 BOF 和 EOF 屬性 False。
如果您刪除 Recordset 物件中的最後一筆記錄,BOF 和 EOF 屬性可能會維持 False,直到您嘗試重新定位當前記錄為止。
下表顯示哪些 Move 方法可以搭配不同組合 的 BOF 和 EOF 属性。
MoveFirst、 MoveLast |
MovePrevious、 移動 < 0 |
移動 0 | MoveNext, 移動 > 0 |
|
---|---|---|---|---|
BOF=TrueEOF=False | 允許 | 錯誤 | 錯誤 | 允許 |
BOF=FalseEOF=True | 允許 | 允許 | 錯誤 | 錯誤 |
兩者 True | 錯誤 | 錯誤 | 錯誤 | 錯誤 |
兩者 False | 允許 | 允許 | 允許 | 允許 |
允許 Move 方法不保證方法會成功找到記錄;它只表示呼叫指定的 Move 方法不會產生錯誤。
下表顯示當您呼叫各種 Move 方法但無法成功找到記錄時,BOF 和 EOF 属性設定會發生什麼事。
轉爐 | EOF | |
---|---|---|
MoveFirstMoveLast | 設定為 true | 設定為 true |
移動 0 | 沒有變更 | 沒有變更 |
MovePreviousMove< 0 | 設定為 true | 沒有變更 |
MoveNext、Move> 0 | 沒有變更 | 設定為 true |