2015-09-12 1 views
0
If ssearch.Text <> "" Then 
     cmdOLEDB.CommandText = "SELECT StudentID FROM Students WHERE StudentID = " & (ssearch.Text) & " ; " 
     cmdOLEDB.Connection = cnnOLEDB 

J'ai essayé de nombreuses solutions, mais aucune d'elles n'a aidé. Soit ils sortent une valeur non etc etc et cette erreur. J'essaie de rechercher Student ID à partir de mon accès et l'afficher. Y at-il une erreur dans la partie ci-dessus. ssearch.text est le textbox dans lequel je tape le numéro que je veux rechercher.Incompatibilité de type de données dans l'expression de critères dans VB.net avec Access 2013

Répondre

0

Le type de données pour StudentID dans la base de données n'est peut-être pas un nombre entier. mais vous passez ce champ dans la condition où un entier. dans les requêtes,

Une chaîne ou un caractère est représenté par une paire de guillemets simples (' '). de sorte que votre requête sera comme suit:

cmdOLEDB.CommandText = "SELECT StudentID FROM Students WHERE StudentID = '" & (ssearch.Text) & "';" 

mais la meilleure façon est d'utiliser parameterized requêtes, au lieu de cela pour éviter sql injection.