System.Data.OleDb.OleDbException:'条件表达式中的数据类型不匹配。' vb

时间:2018-08-30 13:35:54

标签: vb.net

请帮助我。我正在尝试使用MS Access数据库进行身份验证。在我的数据库中,有一个名为Doctor的表,该表中有几个字段,但我想用来进行身份验证的字段是DR_ID和DR_Password。

在我的登录表单中,我使用3个控件组合框来指定用户是护士还是医生,以及两个文本框,一个用于user_id,一个用于密码。

当我运行程序并尝试登录时,出现此错误“ System.Data.OleDb.OleDbException:'条件表达式中的数据类型不匹配'。”

Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles btnLogin.Click
        Me.Hide()
        dbProvider = "PROVIDER= Microsoft.ACE.OLEDB.12.0;"
        dbSource = "Data Source = C:\Users\Siyabonga Kubeka\Documents\Academic Folder\Richfield Graduate Institute Of Technology\BSC GUIDES\BSC GUIDES\Semester 2\Programming 512 Tasks\HealthServiceSystem.accdb"

        obj_Con.ConnectionString = dbProvider & dbSource

        If cmbDrOrNurse.Text = "DOCTOR" Then
            sql = "SELECT DR_ID ,DR_Password FROM Doctor WHERE DR_id='" & txbID.Text & "' AND DR_password='" & txbPassword.Text & "'"
            cmd = New OleDbCommand(sql, obj_Con)
            obj_Con.Open() 'open database
            Dim dr As OleDbDataReader = cmd.ExecuteReader

            Try
                If dr.Read = False Then
                    MessageBox.Show("Authentication failed...")
                    Me.Show()
                Else
                    HealthServiceSystemForm.Show()
                End If
            Catch ex As Exception
                MessageBox.Show("Unable To Connect " & ex.ToString)
            End Try
            obj_Con.Close()

        ElseIf cmbDrOrNurse.Text = "NURSE" Then
            sql = "SELECT Nurse_ID ,Nurse_Password FROM Nurse WHERE NURSE_ID='" & txbID.Text & "' AND NURSE_PASSWORD='" & txbPassword.Text & "'"
            cmd = New OleDbCommand(sql, obj_Con)
            obj_Con.Open() 'open database
            Dim dr As OleDbDataReader = cmd.ExecuteReader

            Try
                If dr.Read = False Then
                    MessageBox.Show("Authentication failed...")
                    Me.Show()
                Else
                    HealthServiceSystemForm.Show()
                End If
            Catch ex As Exception
                MessageBox.Show("Unable To Connect " & ex.ToString)
            End Try
            obj_Con.Close()

        End If



    End Sub
End Class

0 个答案:

没有答案