vb吐槽班02 不要以為學生資訊管理系統很難啊魂淡!

來源:互聯網
上載者:User

    誒,好的好的,今天依舊是我給大家帶來大型情感類電腦連續節目vb吐槽班,我們依舊是吐的飛起,感覺好噁心。。。

    自從上次在csdn發過部落格之後,一直生活在水深火熱的預習專業課的生活中,畢竟考試不能總靠別人是吧,小抄還是要做好的,當然也還是要貫徹落實“膽大心細不要臉,能瞟一眼是一眼”的偉大方針。說到這個考試呢,不得不吐槽一下:上課真是太TM耽誤學習了!

    也是到了暑假了啊,學校終於是沒啥事了,不耽誤我們學習了,我這倆月沒登csdn密碼都差點忘了。。。最近終於是勉強趕上了大部隊的腳步,莫名其妙的做完了這個學生資訊管理系統。按照國際慣例,搞定了之後要做個總結,so


         不要以為學生資訊管理系統很難啊魂淡!


    一開始拿到源碼的時候,我累個大擦啊,毛線一樣多的表單啊,米導演,我是不是走錯片場了啊喂!

    待老夫仔細一看。第一個菜單:添加,修改,退出;第二個菜單:添加,修改,查詢;第三個菜單:添加,修改,查詢。。。

    誒,原來都差不多嘛╮(╯▽╰)╭

    其實拿到了之後仔細看了看每一個表單,大概都是差不多的代碼,差別也就是有的地方用不同的方法達到相同的效果。

    最難的地方我認為就是這個模組了,好吧,為了能仔細講解一下這些代碼,我就拆開了寫了啊。(你就想多湊幾篇部落格數吧-_-)

Sub main()    Dim fLogin As New frmLogin    fLogin.Show vbModal  '顯示登入視窗,使使用者只能使用當前表單,只有當前表單關閉後其他表單才可用        If Not fLogin.OK Then '如果flogin表單中的ok不為真,結束程式        End    End If        Unload fLogin        Set fMainForm = New frmMain '顯示主表單    fMainForm.ShowEnd Sub

          首先這個sub main(),我在注釋裡面也寫了,目的就是為了只顯示登入表單。好吧,其實我想說直接將啟始物件設定為登入表單,也就是frmLogin也可以的,只不過還要在裡面加一些代碼,那啥我就不寫了。。。

Public Function Testtxt(txt As String) As Boolean'判斷text是否為空白    If Trim(txt) = "" Then        Testtxt = False    Else        Testtxt = True    End IfEnd Function

          然後是這個東西,注釋裡面也寫了,這個函數只是為了檢驗textbox是否為空白,其實也可以直接用trim(txt)是否為空白來判斷,定義一個函數一是為了方便一些吧。

Public Function ConnectString() As String    '方法一    ConnectString = "FileDSN=student.dsn;UID=sa;PWD=123456;Server = 192.168.1.1;persist security info=False"     '方法二    'ConnectString= "Provider=SQLOLEDB;UID=sa;PWD=123456;Initial Catalog=student;Data Source=192.168.1.1"End Function

     接下來是串連資料庫的函數,上期吐槽班也是講過了兩種串連方式,具體連結到區域網路中的SQL Server的伺服器也只是在各自的代碼中加了IP地址。當然你要先在伺服器端開啟遠端連線的服務。

Public Function ExecuteSQL(ByVal SQL As String, Msgstring As String) As ADODB.Recordset    '執行SQL語句,返回一個結果集    '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)         '將sql串按空格分成字串數組    Set cnn = New ADODB.Connection    cnn.Open ConnectString        If InStr("INSSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then      '如果第一個單詞的大寫是INSSERT,DELETE,UPDATE。即非select語句        cnn.Execute SQL                                             '執行SQL語句        Msgstring = sTokens(0) & "query successful"    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

       最難的部分也就是這個函數了,容我喝口熱翔,回來繼續。。。

   一時間不知道從哪說起了,直接簡述一下這個函數的功能吧。首先就是按照注釋上寫的,將接受的文字格式設定的SQL語句按照空格分組,然後對第一個數組的資料進行判斷,如果是非SELECT語句則直接執行,如果是SELECT語句則返回一個結果集。其實我注釋寫得還是夠清楚的嘛╮(╯▽╰)╭

   哇,一個模組我都能寫這麼多!我就不說我把代碼全粘過來了。。。

   剩下的表單啥的,我就下期繼續了~

以上

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.