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

我已經嘗試了很多解決方案,但都沒有幫助。要麼他們彈出一個沒有價值等等,這個錯誤。我正在嘗試從我的訪問中搜索Student ID並將其顯示出來。上述部分是否有錯誤? ssearch.texttextbox,其中我鍵入我想要搜索的號碼。使用Access 2013的VB.net中的標準表達式中的數據類型不匹配

回答

0

數據庫中StudentID的數據類型可能不是整數。但是您在條件中將此字段作爲整數傳遞。在查詢中,

字符串或字符用一對單引號(' ')表示。所以您的查詢就會像下面這樣:

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

但最好的方法是使用parameterized查詢,而不是爲這個來避免sql injection

相關問題