0
votes

I am using VB.Net connecting to MS Access database. I think SQL syntax is wrong because before i add WHERE clause, it works. When i add WHERE clause, i got error ' data type mismatch in criteria expression'. Any help would be appreciated, thank you.

Here is my code

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select Sum([Shark Individual Weight]) From FishCaught Where [OperationID] ='" & TextBoxOpID4.Text & "'", myConnection)
        Dim ds As DataTable = New DataTable()
        da.Fill(ds)
        DataGridView2.DataSource = ds

Additional info: textboxOpID4 is enabled false

1
what is data type of operationid? - Sateesh Pagolu
data type is number - lee

1 Answers

0
votes

make something like this

Dim da As OleDbDataAdapter = New OleDbDataAdapter("Select Sum([Shark Individual Weight]) From FishCaught Where [OperationID] =" & TextBoxOpID4.Text , myConnection)
Dim ds As DataTable = New DataTable()
da.Fill(ds)
DataGridView2.DataSource = ds

I quite use this kind of query when the where clause is a number because if you do put ' in a number column the output would be string which produces the error for example the ColumnID = 5 your code is like this ColumnID = '5' which is wrong especially if it is an AutoNumber field so do not insert a datatype number inside ' so it will not become a string