【第一次機房】查詢學生餘額遇到的問題(錯誤代碼13,數據不匹配)

在敲機房第一個窗體的時候,遇到了一個很折磨人的問題,

數據類型不匹配,直接不知道怎麼入手解決問題,確認過數據庫裏的數據和數據類型都是正確的,然後確認了數據庫的連接語句也確認無誤。

最後發現是在數據定義的時候出現了錯誤。

第一次敲的時候,沒有在ADODB.Record後面加上“set”。“Dim mrc As ADODB.Recordset”是對數據集進行定義,數據庫中的所有的表都需要通過它打開和操作。

Option Explicit

Private Sub cmdExit_Click()
    If MsgBox("是否退出程序?", vbOKCancel, "請選擇") = vbOK Then
        Unload Me
    End If
End Sub

Private Sub cmdInquire_Click()
    Dim txtSQL As String
    Dim MsgText As String
    Dim mrc As ADODB.Recordset

    If Trim(txtCardID.Text) = "" Then
        MsgBox "卡號不能爲空!"
        txtCardID.SetFocus
        Exit Sub
    Else
    txtSQL = "select * from student_Info where cardno='" & Trim(txtCardID.Text) & "'"
    Set mrc = ExecuteSQL(txtSQL, MsgText)  '執行查詢語句
        If mrc.EOF = True Then
            MsgBox "該卡沒有註冊,請重新輸入!"
            txtCardID.Text = ""
            txtCardID.SetFocus
        Else
'將信息填入對應位置
            txtStudentNo.Text = Trim(mrc.Fields(1))
            txtStudentName.Text = Trim(mrc.Fields(2))
            txtSex.Text = Trim(mrc.Fields(3))
            txtDepartment.Text = Trim(mrc.Fields(4))
            txtGrade.Text = Trim(mrc.Fields(5))
            txtClass.Text = Trim(mrc.Fields(6))
            txtState.Text = Trim(mrc.Fields(10))
            txtExplain.Text = Trim(mrc.Fields(8))
            txtCash.Text = Trim(mrc.Fields(7))
        End If
    End If
End Sub


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章