Click here to Skip to main content
12,819,248 members (31,121 online)
Rate this:
Please Sign up or sign in to vote.
See more: VB 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 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 | Mobile
Web02 | 2.8.170308.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