1. 程式人生 > >【學生信息管理系統】EOF 和 BOF

【學生信息管理系統】EOF 和 BOF

少包 cell enter 常常 avi article ast 管理系統 style

敲完學生信息管理系統時,在刪除信息的時候,常常會出現下圖這種錯誤,遇到問題就要解決這個問題。經過查閱理解了記錄集Recordset的EOF和BOF屬性,用這兩個屬性能夠知道記錄集中是否有信息存在。

技術分享

EOF和BOF屬性

  • BOF 指示當前記錄位置位於 Recordset 對象的第一個記錄之前。
  • EOF 指示當前記錄位置位於 Recordset 對象的最後一個記錄之後。

返回值:BOF 和 EOF 屬性返回布爾型值。


使用 BOF 和 EOF 屬性可確定Recordset 對象是否包括記錄,或者從一個記錄移動到還有一個記錄時是否超

出 Recordset 對象的限制。

  • 假設當前記錄位於第一個記錄之前,BOF 屬性將返回 True ,假設當前記錄為第一個記錄或位於其後則將返回 False 。
  • 假設當前記錄位於 Recordset 對象的最後一個記錄之後 EOF 屬性將返回 True,而當前記錄為 Recordset 對象的最後一個記錄或位於其前,則將返回 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


【學生信息管理系統】EOF 和 BOF