学生信息管理系统错误总结之3021
生活随笔
收集整理的這篇文章主要介紹了
学生信息管理系统错误总结之3021
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在這些天敲寫和調試學生信息管理系統的時候,經常會用到EOF(End of File)和BOF(Before of File),稍加不注意查詢我們的數據庫就會出錯,那么這兩個究竟是個什么鬼?
一、認識
? ? ? BOF:指當前記錄位置位于Recordset對象的第一個記錄之前? ? ? EOF:指當前記錄位置位于Recordset對象的最后一個記錄之后?
? ?這兩個的屬性值均返回布爾型:True和False,使用BOF
和 EOF 屬性可確定 Recordset 對象是否包含記錄,或者從一個記錄移動到另一個記錄時是否超出 Recordset 對象的限制。 下表即是各自的使用說明及查詢結果:
| ? | EOF | BOF |
| True | 當前行的位置是在最后一行的后面,無記錄 | 當前行的位置是在第一行之前,無記錄 |
| False | 當前行的位置是在最后一行或其前面,有記錄 | 當前位置是在第一行或其后,有記錄 |
如果當 EOF 被置為 True 時再使用 MoveNext ,或當 BOF被置為 True 時再使用 MovePrevious ,都將產生一個提示代號為‘3021’的錯誤。
? ? 需要注意的是:允許一個Move 方法并非意味著,該方法能成功地定位某行。它僅表示執行這個指定的 Move 方法是允許的,并且不產生一個錯誤。 BOF 和 EOF屬性的狀態可以隨著該移動的結果而改變。?
二、用法(因為在學生信息系統中定義mrc為記錄集對象)
If mrc.BOF Then 表示:當前指針的位置是在第一行記錄之前,則... If mrc.EOF Then 表示:當前指針的位置是在最后一行記錄之后,則... If Not mrc.EOF Then 表示:當前指針的位置沒有到達最后一條記錄 If Not mrc.BOF then表示:當前指針的位置沒有到達第一條記錄
推薦使用下面兩條 If Not (mrc.BOF AND mrc.EOF) Then 表示:指針位于RecordSet 的當中(并非是最后一條和第一條) ,說明一定有記錄。 If mrc.BOF AND mrc.EOF Then 表示:沒有任何記錄三、具體使用
說完了EOF和BOF之后就要說說我們的3021錯誤了。錯誤定位在更改學籍信息中。Private Sub cmdPrevious_Click()'數據集向前移動mrc.MovePrevious'判斷是否到起始位置If mrc.BOF Thenmrc.MoveLastEnd IfCall viewData End Sub 自己錯把BOF達成了EOF。這一點就是自己的粗心的問題了。
第二個錯誤就是關于記錄查詢問題了,在查詢信息頁面如果沒有向數據庫中添加記錄的情況下,會出現錯誤3021,因為搜索不到記錄集,而指針依然要求移到第一條記錄這時就會出現查詢錯誤。
錯誤處理方法:一、進行錯誤處理 Private Sub Form_Load()Dim txtSQL As StringDim MsgText As StringtxtSQL = "SELECT * FROM student_Info "Set mrc = ExecuteSQL(txtSQL, MsgText) '得到臨時表On Error GoTo 1:mrc.MoveFirstCall viewDatamyBookmark = mrc.Bookmark '對當前記錄進行標記mcclean = True '可編輯狀態1:If Err = 3021 ThenMsgBox "無記錄!"End IfEnd sub 錯誤處理方法二:用if條件將錯誤顯示出來 Private Sub Form_Load()Dim txtSQL As StringDim MsgText As StringtxtSQL = "SELECT * FROM student_Info "Set mrc = ExecuteSQL(txtSQL, MsgText) '得到臨時表 ’考慮無記錄情況If mrc.EOF And mrc.BOF Then ’一條IF語句充當錯誤處理,當無記錄時,mrc.eof=true’和mrc.bof=true兩個條件同時滿足!MsgBox "無記錄!請先添加記錄。"frmAddsinfo.Show ’直接進行下一步,顯示窗體Elsemrc.MoveFirstCall viewDatamyBookmark = mrc.Bookmark '對當前記錄進行標記mcclean = True '可編輯狀態 End If 總結:3021錯誤是一個很常見的問題,這個問題會讓我們不斷加深我們對于EOF和BOF的理解,每次的錯誤都會讓我們成長的更快。
總結
以上是生活随笔為你收集整理的学生信息管理系统错误总结之3021的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 股市专辑播放列表
- 下一篇: 企业微信报错https:// open.