Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: VB.NET
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."
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 29-Dec-12 8:57am

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

Never ever concatenate data directly to your SQL statement. Instead use OleDbParameter[^].
 
So your query part should look like following:
cmdOLEDB.CommandText = "SELECT usern FROM Aut WHERE usern = ?"
cmdOLEDB.Parameters.Add("username", OleDbType.VarChar, 50).Value = textbox1.Text;
...
  Permalink  
v2
Comments
Espen Harlinn at 30-Dec-12 8:10am
   
5'ed!
Mika Wendelius at 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)

  Print Answers RSS
0 Maciej Los 450
1 OriginalGriff 373
2 Sergey Alexandrovich Kryukov 239
3 CPallini 189
4 CHill60 180
0 OriginalGriff 6,092
1 Sergey Alexandrovich Kryukov 5,022
2 Maciej Los 3,269
3 Peter Leow 3,164
4 DamithSL 2,490


Advertise | Privacy | Mobile
Web02 | 2.8.140721.1 | Last Updated 29 Dec 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100