Click here to Skip to main content
12,953,402 members (47,402 online)
Rate this:
 
Please Sign up or sign in to vote.
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."
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 30-Dec-12 8:10am
   
5'ed!
Mika 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)

    Print Answers RSS
Top Experts
Last 24hrsThis month
OriginalGriff 6,429
CHill60 3,490
Maciej Los 3,103
Jochen Arndt 1,975
ppolymorphe 1,930


Advertise | Privacy | Mobile
Web02 | 2.8.170525.1 | Last Updated 29 Dec 2012
Copyright © CodeProject, 1999-2017
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