简体   繁体   中英

Read data from a database in vb.net

So I used this piece of sample code to retrieve data from a MS Access Database and display it on a few textboxes on the form. The following error occurs -

@ dr = cmd.ExecuteReader - Data type mismatch in criteria expression. dr = cmd.ExecuteReader

This is the sample code -

Dim provider As String
Dim dataFile As String
Dim connString As String
Public myConnection As OleDbConnection = New OleDbConnection
Public dr As OleDbDataReader

Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    provider = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source ="
    dataFile = "C:\Users\example\Desktop\Data.accdb" ' Change it to your Access Database location
    connString = provider & dataFile
    myConnection.ConnectionString = connString
End Sub

Dim r As Random = New Random

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    myConnection.Open()
    TextBox1.Clear()
    TextBox2.Clear()
    TextBox3.Clear()
    Dim str As String
    str = "SELECT * FROM Items WHERE (Code = '" & r.Next(1, 3) & "')"
    Dim cmd As OleDbCommand = New OleDbCommand(str, myConnection)
    dr = cmd.ExecuteReader
    While dr.Read()
        TextBox1.Text = dr("Description").ToString
        TextBox2.Text = dr("Cost").ToString
        TextBox3.Text = dr("Price").ToString
    End While
    myConnection.Close()
End Sub

Try this ..

str = "SELECT * FROM Items WHERE (Code = '" & (r.Next(1, 3)).ToString() & "')"

try this:

str = "SELECT * FROM Items WHERE (Code = '" & cStr(r.Next(1, 3)) & "')"

The table name in the file that you provided for download is "Table1" not "Items".

Change the query string to:

str = "SELECT * FROM Table1 where (Code = '" & r.Next(1, 3) & "')"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM