Click here to Skip to main content
15,885,216 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I want to read string from one column but when i try this one i got error that is "Data type mismatch in criteria expression."
VB
cmdOLEDB.CommandText = "SELECT usern FROM Aut WHERE usern=" & textbox1.Text
cmdOLEDB.Connection = cnnOLEDB
Dim rdrOLEDB As OleDbDataReader = cmdOLEDB.ExecuteReader
If rdrOLEDB.Read = True Then
MsgBox("Record found")
rdrOLEDB.Close()
Exit Sub
Else
MsgBox("Record not found")
rdrOLEDB.Close()
Exit Sub
End If
Posted

1 solution

Never ever concatenate data directly to your SQL statement. Instead use OleDbParameter[^].

So your query part should look like following:
C#
cmdOLEDB.CommandText = "SELECT usern FROM Aut WHERE usern = ?"
cmdOLEDB.Parameters.Add("username", OleDbType.VarChar, 50).Value = textbox1.Text;
...
 
Share this answer
 
v2
Comments
Espen Harlinn 30-Dec-12 8:10am    
5'ed!
Wendelius 4-Jan-13 15:12pm    
Thanks! :D

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900