Click here to Skip to main content
13,295,448 members (28,618 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")
Exit Sub
MsgBox("Record not found")
Exit Sub
End If
Posted 29-Dec-12 9:57am

1 solution

Rate this: bad
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;
Espen Harlinn 30-Dec-12 8:10am
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

Advertise | Privacy |
Web01 | 2.8.171207.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