學生資訊管理系統已經進行了好幾天了,現在就以流水賬的形式總結一下這幾天遇到的問題。
在做學生資訊管理系統之前,我先問了自己一些問題:
我現在可以開始做了嗎?要做學生資訊管理系統之前我需要做哪些準備?做學生資訊系統有什麼作用?在以後的學習中起著什麼樣的作用?在做的過程中我需要如何做?
接下來是來回答這些問題:
現在我可以做學生資訊管理系統了,原因如下:1.資料庫視頻認真的看過了,也做筆記了,但是沒有很好的總結視頻,缺少一個總體性的總結;2.五個執行個體認真的敲過了,也總結了,其中有很多的不懂的問題,也向師傅詢問過了,後期還打算將這五個例子合敲成一個例子。
在做學生資訊管理系統之前,我需要做哪些準備?1.我需要對資料庫有個初步的瞭解。2.需要對學生資訊系統有個大概的瞭解,知道這個系統是幹什麼的,生活中的哪些事兒是和這個系統相關的。
做學生資訊系統有什麼作用?1.學生資訊管理系統是我們要做的第一個系統,主要是為了建立我們和代碼之間的親和力,增加代碼量,在通過實踐和資料庫有親密的接觸。2.學生資訊系統是我們以後學習的一個過渡,是一個漸漸獨立的過程。
在做的過程中需要如何做?1.在做系統的過程中,千萬不可以一行代碼一行代碼的敲,因為這樣不容易理解,而需要一個表單一個表單的進行。需要先去理解它的語句,邏輯關係等。2.雖然做這個系統,我們不需要自己建立資料庫,但是以後的系統我們都需要自己的建立資料庫,因此為了順利的過渡,我覺得這個系統我也應該自己試著建立一些簡單的資料庫,表等。3.需要總結。用專業的語言解釋代碼有時候很難懂,也不好記憶。因此在學習的過程中,需要自己結合生活總結,把它和生活中常見的事兒聯絡起來,這樣就很容易理解了。
學生資訊管理系統正式ing:
分析:
首先需要進行介面的設計:介面設計看似比較簡單,似乎可以採用粘貼複製的方式,但我的建立是自己一個一個的動手去添加,去設計,只有經曆這個過程你才會發現,其實你的VB學的很不好。但是會了呢,就是一個熟能生巧的活啦。
然後是表單的考慮。這個系統中有很多的表單,綜合考慮了一下,我決定將Frmlogin、Frmmain和模組同時進行。因為這幾個表單聯絡的比較緊密。其中模組這部分又是比較難,比較重要的部分,又需要重點進行。其餘的表單打算一個一個的進行,他們的功能相對不較獨立,也比較相似,難度不大。
實踐:
模組:這部分差不多進行了兩天的時間。代碼比較難理解,以下是它的部分代碼。
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset Dim sTokens() As String On Error GoTo ExecuteSQL_Error sTokens = Split(SQL, " ") 'sTokens()從零開始的一維數組,Split()分割函數 Set cnn = New ADODB.Connection cnn.Open ConnectString If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) > 0 Then '非Select語句 cnn.Execute SQL '直接執行SQL語句 MsgString = sTokens(0) & " query successful" Else 'select語句 Set rst = New ADODB.Recordset rst.Open Trim$(SQL), cnn, adOpenStatic, 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_ExitEnd Function
其中運用到三個函數:Split()、Instr()、Ucase(),這三個函數的使用可以查詢函數手冊。上面有比較全面的講解。單個的函數理解了,接下來就是要理解IF語句塊中的東西了,這個最好是進行整體的理解:
即如果在
"INSERT,DELETE,UPDATE"
中找到了
UCase$(sTokens(0)
就執行SQL語句(即非select:INSERT,DELETE,UPDATE),如果找不到的話就執行下面的Select語句,並返回結果。
Set rst = New ADODB.Recordset rst.Open Trim$(SQL), cnn, adOpenStatic, adLockOptimistic Set ExecuteSQL = rst MsgString = "查詢到" & rst.RecordCount & " 條記錄
模組中還有一行代碼是比較重要,但是看上去又比較簡單,實際上又需要多加註意的代碼將在下一篇部落格中寫出,並進行分析。
千裡之行始於足下,這才是我做學生資訊管理系統的剛剛開始,後面需要做的工作還有很多很多。