【學生資訊管理系統】物件變數或者With塊變數未設定

00潤物無聲00發表於2014-08-14

學生資訊管系統照著程式碼敲,敲完了後,漏洞百出,最初碰到的就是下面的這個提示框

而當這個提示出現時,點選除錯按鈕返回

if mrc.EOF = True Then

VB中出現問題最快捷的方式就是去MSDN for VB上查詢相關的資訊,裝上MSDN出現問題的時候,點選幫助。

由圖可知,錯誤型別是物件變數或者With塊變數未設定,而此處沒有With塊變數,那麼只能是一種情況,物件變數未設定。此處的物件只有mrc 前面定義的一個Recordset記錄集,這個問題原因是沒有連上資料庫,導致後面的Recordset物件的EOFBOF屬性無效。

   而沒有連上資料庫的原因有很多,最常見的是下面的3種。

  1. ODBC資料來源沒有配置好
  2. 模組出連線資料庫的程式碼出錯
  3. SQL語句是否敲錯。
  1.ODBC資料來源的配置,最常見的問題就是沒有local伺服器,那麼我們可以在伺服器出輸入一個英文點即可連線。     
   
   2.Public Function ConnectString() As String ' 這個函式是用來連線資料庫 
              ConnectString = "FileDSN=student.dsn;UID=sa;PWD=fxq"                                                                    
        End Function                                                                                                                                                                    
FileDSN後面的Student必須是配置ODBC的時候,DSN檔案的名字。UID是SQL Server 軟體登入的賬號,
         PWD是 SQL Server 登入的密碼。必須跟自己電腦上一致。
   
   3. txtSQL = "select * from course_Info where course_No = ' " & Trim(txtCourseno.Text) & " '"         
SQL語句的結構,從外向內,分別是雙引號,單引號,雙引號,還有&連線符。該語句的意義是:從Course_Info 表中選擇課程編號的內容,讓他等於txtCourseno 這個輸入框的內容,一定要在理解該語句的基礎上,進行編 寫,這樣才能避免很多粗心和不理解程式碼犯下的最不易察覺的低階錯誤。

第一次敲資料庫系統,部分程式碼是沒有接觸過的,這種情況下最容易出的錯誤時,字母和標點符號出錯,而這類錯誤在糾錯的過程中,會花掉我們大量的時間。學生資訊管理系統中很多的程式碼是重複的,那麼在敲程式碼的時候,剛開始的時候就要理解程式碼,這樣後面的學習,才能更加遊刃有餘,也降低錯誤的發生。



相關文章