Click here to Skip to main content
11,795,848 members (78,540 online)
Rate this: bad
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")
Exit Sub
MsgBox("Record not found")
Exit Sub
End If
Posted 29-Dec-12 8: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 at 30-Dec-12 8:10am
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 370
1 Abhinav S 328
2 Sergey Alexandrovich Kryukov 266
3 OriginalGriff 260
4 KrunalRohit 239
0 OriginalGriff 1,852
1 Maciej Los 1,465
2 KrunalRohit 1,300
3 CPallini 840
4 Richard MacCutchan 828

Advertise | Privacy | Mobile
Web01 | 2.8.151002.1 | Last Updated 29 Dec 2012
Copyright © CodeProject, 1999-2015
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