學生管理系統的總結

              首先畫了一個圖,是整個系統的工作過程:

系統用到的主要關於數據庫的語句:

查詢語句:"select * from 表 where  字段名='"&text1.text&"'" 

 

刪除語句:1."delete from 表名 where 字段名 = '" & Trim(text1.Text) & "'"

                   2.recordset.delect

更新語句:recordset.addnew

                  recordset.fields(i)=trim(text1.text)

                   mrc.update

在這個系統中自己獲得到的知識:

一.Sub main()作爲啓動窗體:

作用:1.有選擇的加載需要的窗體

           2.啓動程序時快速顯示窗體

二.recordset的深入理解

這一代碼加上後面調用這個函數使我更好的理解了recordset

Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
    'executes SQL and returns Recordset
   Dim cnn As ADODB.Connection                    '聲明的連接
   Dim rst As ADODB.Recordset                      '聲明的結果集
   Dim sTokens() As String                      '定義字符串數組
   
   On Error GoTo ExecuteSQL_Error                '處理錯誤

   sTokens = Split(SQL)                                           '把每個字符串分開,就例如查詢語句,stokens(0)=select
   Set cnn = New ADODB.Connection                        '建立連接對象
   cnn.Open ConnectString                                            '調用連接數據庫函數
   
   If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then        '第一個詞非Select語句
      cnn.Execute SQL   '數據量不大時,可以在連接上,直接執行SQL語句
      MsgString = sTokens(0) & " query successful"
      '雖然MsgString不是返回值,但傳遞方式是ByRef,實參地址和這個地址相同
   Else                                                             '第一個詞是Select語句
      Set rst = New ADODB.Recordset
      rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic
      '得到臨時表,遊標指向第一條記錄
     
      Set ExecuteSQL = rst
      MsgString = "查詢到" & rst.RecordCount & _
         " 條記錄 "
   End If
   
ExecuteSQL_Exit:                                                     '釋放定義的結果集,連接,並退出程序
   Set rst = Nothing
   Set cnn = Nothing
   Exit Function
   
ExecuteSQL_Error:                                                '錯誤處理
   MsgString = "查詢錯誤: " & _
      Err.Description
   Resume ExecuteSQL_Exit
End Function

三.控件的瞭解

  1.做查詢功能時,MSHFlexgrid控件的瞭解和運用

   2.在修改代碼時進一步對listbox的屬性和方法的瞭解

四:登陸系統時首先獲取用戶名的api函數GetUserName的運用

 

  Dim strBuffer As String
    Dim lgSize As Long
    strBuffer = Space$(255)   '分配255個字符空間
    lgSize = Len(strBuffer)
    Call GetUserName(strBuffer, lgSize)    '獲取當前用戶名,有利於安全性
    'API中字符串作參數,需要提前確定大小
    If lgSize > 0 Then
        txtUserName.Text = "student"
    Else
        txtUserName.Text = vbNullString   '沒有字符串
    End If


最後這個系統在源碼的基礎上敲完後的感受:
1.由剛開始自己都懷疑自己是否會看懂這些代碼到現在基本上都能懂了,我們不應該什麼事還沒嘗試就否定它,應該在嘗試之後在發表言論!

2.在設計一個系統時應站在用戶的角度考慮,把自己當做用戶,就想出現空記錄或者數字過大,輸入方便,還有點擊錯誤這些都該我們爲用戶考慮到!

3.我們設計代碼時,應儘量考慮周全一點,要有全局意識,例如代碼中首先在模塊中定義了一個執行sql語句的函數ExecuteSQL(txtSQL,msgText),因爲在後面的窗體上基本上都會用到,這就節省了我們很多時間,而且讓人看着舒服!

4.學東西要踏實,不要急,慢慢的來,要相信一切只是個過程!

 

發佈了46 篇原創文章 · 獲贊 58 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章