Vb.net 查询数据库时条件表达式中的数据类型不匹配
我是一名学生,目前正在学习编程课程。我试图使用DataGridView中的按钮从Access数据库获取MemberID,但当我选择要查看的成员时,在条件表达式中出现错误数据类型不匹配。下面是我的代码:Vb.net 查询数据库时条件表达式中的数据类型不匹配,vb.net,types,mismatch,Vb.net,Types,Mismatch,我是一名学生,目前正在学习编程课程。我试图使用DataGridView中的按钮从Access数据库获取MemberID,但当我选择要查看的成员时,在条件表达式中出现错误数据类型不匹配。下面是我的代码: Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGrid
Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
Dim Member As String
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
da = New OleDb.OleDbDataAdapter(Query, Conn)
Connect = "PROVIDER=Microsoft.ACE.OLEDB.12.0;Data Source = \\DRS-SR-002\RMShared Documents\Computer Programming\Programs\year13\Kevin\Project\Database tables\DBTables.accdb"
Conn = New OleDb.OleDbConnection(Connect)
If e.ColumnIndex <> 4 Then
Exit Sub
End If
Dim MemberSelectedID As String = DataGridView1.Rows(e.RowIndex).Cells(0).Value
GroupBox1.Show()
Query = "SELECT MemberID FROM tblMember WHERE [MemberID] = """ & MemberSelectedID & """"
Conn.Open()
da = New OleDb.OleDbDataAdapter(Query, Conn)
da.Fill(ds, "Selected Member")
Conn.Close()
Member = ds.Tables("Selected Member").Rows(0).Item(0)
TextBox1.Text = Query
End Sub
您将从DataGridView中获取MemberSelectedID作为字符串,然后使用它查询数据库,我假设它在数据库上定义为数字。这就是数据类型不匹配错误的原因
尝试:
及
你的问题是错误的。
应该是这样的
Query = "SELECT MemberID FROM tblMember WHERE [MemberID] = " & MemberSelectedID
或
MemberID字段是整数,因此无需将其指定为字符串。
在SQL Server中,“单引号”用于指定字符串而不是双引号。从何处获取此错误?请指定。@SanketS可能位于da.Fillds,Selected members如果MemberId在数据库级别定义为数字,则第二个将抛出一个异常,并出现相同的错误。是,但它取决于字段类型。如果数据类型是Integer,它将工作。
Query = "SELECT MemberID FROM tblMember WHERE MemberID = " & MemberSelectedID
Query = "SELECT MemberID FROM tblMember WHERE [MemberID] = " & MemberSelectedID
Query = "SELECT MemberID FROM tblMember WHERE [MemberID] = '" & MemberSelectedID & "'"