2016-12-21 1 views
0

J'utilise VB.Net se connectant à la base de données MS Access. Je pense que la syntaxe SQL est fausse, car avant d'ajouter la clause WHERE, cela fonctionne. Quand j'ajoute la clause WHERE, j'ai une erreur 'incompatibilité de type de données dans l'expression de critère'. Toute aide serait appréciée, merci.Incompatibilité de type de données dans l'expression de critères vb.net

Voici mon 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 

Informations complémentaires: textboxOpID4 is enabled false

+0

ce qui est du type de données de 'operationid' ? – DarkKnight

+0

le type de données est le numéro – lee

Répondre

0

faire quelque chose comme ça

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 

J'utilise tout à fait ce genre de requête lorsque le where clause est un nombre parce que si vous mettre ' dans une colonne de nombre la sortie serait chaîne qui prod UCE l'erreur par exemple ColumnID = 5 votre code est comme ce ColumnID = '5' ce qui est faux surtout si elle est un champ AutoNumber donc ne pas insérer un numéro de type de données à l'intérieur ' il ne deviendra pas une chaîne

+0

Merci beaucoup! Ça marche! – lee

+0

Si le code fonctionne, veuillez l'accepter. –

+0

Bon à savoir, Happy Coding et aussi s'il vous plaît voir la réponse éditée afin que vous puissiez en apprendre davantage. –