細說學生管理系統(二)

來源:互聯網
上載者:User

實現功能.

這部分讓自己學到了很多技術上的東西,尤其是程式與資料庫互動出現的問題,因為代碼基本上都是重複的都是是"增刪改查".下面說說自己遇到的問題.

問題一:

adLockOptimistic與update、adLockBatchOptimistic與updatebatch。

因為弄混了兩者的區別,讓自己開始的時候狠狠地糾結了一把。

問題二:

在敲學生資訊管理系統時出現上述問題一般都是資料庫連接有問題,大家可以重點檢查與資料庫連接有關的語句。提醒大家一點,向下面的過程中,一定要注意where後面的空格!

Private Sub cmdInquire_Click()    Dim txtSQL As String    Dim msgText As String    Dim dd(4) As Boolean    Dim objRs As ADODB.Recordset        txtSQL = "select * from result_info where "                          '串連資料庫                                         '選擇學號    If Check1(0).Value Then       If Trim(txtSID.Text) = "" Then          MsgBox "學號不可為空,請輸入學號!!!", vbOKOnly + vbExclamation, "警告"          txtSID.SetFocus          Exit Sub               Else          If Not IsNumeric(Trim(txtSID.Text)) Then             MsgBox "請輸入數字!!!", vbOKOnly + vbExclamation, "警告"             Exit Sub             txtSID.SetFocus             txtSID.SelStart = 0             txtSID.SelLength = Len(txtSID.Text)           End If           dd(0) = True           txtSQL = txtSQL & "student_id= '" & Trim(txtSID.Text) & "'"        End If    End If

問題三:

出現上述錯誤,主要是輸入長度或資料類型與資料庫的設定不一致。這樣在將資料寫入資料庫時就會出現錯誤。避免這種錯誤的方法可以根據資料庫的需要來顯示使用者輸入的長度和格式。

比如:限制使用者只能輸入數字,最大輸入長度為20.

Public Sub lmtLong(txt As String, n As Integer)   '限制輸入長度    If Len(Trim(txt)) >= n Then       KeyAscii = 0       MsgBox "最多輸入" & n & "位!!!", vbExclamation + vbOKOnly, "警告"          End If   End SubPublic Sub lmtNumber(a As Integer)    '只能輸入數字   If (a >= 48 And a <= 57) Or a = 8 Then      Else  a = 0   MsgBox "請輸入數字!!", vbOKOnly + vbExclamation, "警告"    End IfEnd Sub問題四:

當資料庫中沒有記錄時,再次載入就會出現這個問題,解決方案:提前進行判斷,如果資料為空白則提示添加資料。

Private Sub modifycourseMenu_Click()    Dim txtSQL As String    Dim msgText As String    Dim objRs As ADODB.Recordset        txtSQL = "select * from course_info "    Set objRs = ExecuteSQL(txtSQL, msgText)    If objRs.EOF And objRs.BOF Then          MsgBox "資料為空白,請先添加資料", vbOKOnly + vbExclamation, "警告"       Exit Sub    Else     frmmodifycourseinfo.Show     sbStatusBar.Panels(1) = frmmodifycourseinfo.Caption    End IfEnd Sub

問題五:

這個問題糾結了很久,使用書籤時如果刪除最後一條記錄時就會報錯。大家解決的方法也各不相同,我一開始採用的是:進行判斷,如果是最後一條記錄時則提醒然後刪除並卸載表單。

If str2 = vbOK Then      If objRs.RecordCount = 1 Then         objRs.Delete         MsgBox "記錄已經完全刪除請添加資訊!!", vbOKOnly + vbExclamation, "警告"         Unload Me      Else       objRs.MoveNext       If objRs.EOF Then          objRs.MoveFirst          myBookMark = objRs.Bookmark          objRs.MoveLast          objRs.Delete          objRs.Bookmark = myBookMark          Call viewData      Else         myBookMark = objRs.Bookmark         objRs.Delete         objRs.MovePrevious         objRs.Bookmark = myBookMark         Call viewData'      End If     End If    Else       objRs.Bookmark = myBookMark       Call viewData    End If

 

可是,如果資料庫裡的資料一開始只有兩條時,則還是會出現問題4。現在我也沒有解決,希望大家給點指點。

問題六:

主要當對某個表進行操作時,如果這個表被關閉了,就會出現這個錯誤。

問題七:

當更新資料時是直接更新好還是先刪除在寫入的好?

上述問題都是在做學生管理系統時遇到的一些主要問題。當然問題肯定不止這些,其他的一些細節問題,我們將在下面文章中講述。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.