Vb.net 在vb的文本框中搜索/查询access数据库,而不使用datagrid视图

Vb.net 在vb的文本框中搜索/查询access数据库,而不使用datagrid视图,vb.net,search,executenonquery,Vb.net,Search,Executenonquery,嘿,伙计们,我需要一些帮助,从我的表单程序进行基本的搜索查询,以连接到access数据库。基本上,我想学习如何通过单击我的查询按钮,搜索文本框中输入的文本,并根据找到的匹配在另一个文本框中显示相应的数据。任何帮助都将不胜感激 这是到目前为止我的查询按钮的代码 Private Sub btnQuery_Click(sender As Object, e As EventArgs) Handles btnQuery.Click con = New System.Data.OleDb.Ole

嘿,伙计们,我需要一些帮助,从我的表单程序进行基本的搜索查询,以连接到access数据库。基本上,我想学习如何通过单击我的查询按钮,搜索文本框中输入的文本,并根据找到的匹配在另一个文本框中显示相应的数据。任何帮助都将不胜感激

这是到目前为止我的查询按钮的代码

Private Sub btnQuery_Click(sender As Object, e As EventArgs) Handles btnQuery.Click

    con = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Eric\Documents\Fadv.accdb")

    con.Open()


    Dim id As Integer
    Dim SQL As String = "SELECT FirstName, NAME FROM info WHERE FirstName=" & txtFirstName.Text & ""

    Using cmd As New OleDbCommand(SQL, con)

        id = Val(InputBox("Enter Query Criteria"))

        MsgBox(SQL)
        cmd.ExecuteNonQuery()

        con.Close()
终端使用 我在试图弄清楚(连接字符串)时遇到了一点麻烦。我不确定这是否是我必须声明的东西。到目前为止,这里是我的代码,任何指导都将不胜感激

`私有子b查询\u单击(发送者作为对象,e作为事件参数)处理b查询。单击

    Using con As New OleDbCommand(connectionstring)

        Dim cmd As New OleDbCommand(SQL, con)

        con.open()

        Dim reader As OleDbDataReader = cmd.ExecuteReader()

        While reader.Read()

            txtFirstName.Text = reader(0).ToString())

        End While

        reader.Close()

    End Using
`

ExecuteNonQuery()
应该用于写入数据库,而不是从数据库中读取。“虽然ExecuteOnQuery不返回任何行…[]”,但是

有两种方法可以实现你想要做的事情。我建议看一下这个示例,因为它将向您展示如何使用
OleDb
执行查询

要将查询中的数据获取到文本框,可以执行以下操作:

Using con As New OleDbConnection(connectionstring) //Your connection string
    Dim command As New OleDbCommand(SQL, con) 

    connection.Open()

    Dim reader As OleDbDataReader = command.ExecuteReader()
    While reader.Read()
        TextBox1.Text = reader(0).ToString())
    End While
    reader.Close()
End Using 
它提供了更多的澄清,如果你阅读了它所说的话,它将极大地帮助你。具体而言:

“您可以使用DataReader对象的Read方法从查询结果中获取一行。通过将列的名称或序号引用传递给DataReader,可以访问返回行的每一列。但是,为了获得最佳性能,DataReader提供了一系列方法,允许您访问其本机数据类型中的列值(GetDateTime、GetDouble、GetGuid、GetInt32等)。“


另外请注意:您希望将查询参数化。

没问题,巴德,希望它能帮助您。做几次之后,这将是第二天性。