vb.net做dateadapter的查询时一直提示“至少一个参数没有指定值”怎么解决?

目的:查询在textbox中的文本,在datagridview中显示出来

Private Sub Slt()
        DataGridView1.Rows.Clear()

        Dim oledb As String = "SELECT * FROM kucun WHERE [hname] = " & NameTxt.Text
        cmd = New OleDbCommand(oledb, con)

        'Try
        con.Open()
            Dim ds As New DataSet
            adapter = New OleDbDataAdapter(cmd)
            adapter.Fill(ds, "kucun")
            adapter.SelectCommand = con.CreateCommand
            adapter.SelectCommand.CommandText = oledb
            adapter.Update(ds, "kucun")
            DataGridView1.DataSource = ds.Tables("kucun")


            con.Close()

        ' dt.Rows.Clear()
        ' Catch ex As Exception
        'MsgBox(ex.Message)
        con.Close()
        'End Try
    End Sub

图片说明

运行查询的时候在 adapter.Fill(ds, "kucun") 的地方报错:“至少一个参数没有指定值”。找了好久也不知道少了什么,也不知道如何解决。
希望大佬能帮帮我QAQ

Dim oledb As String = "SELECT * FROM kucun WHERE [hname] = " & NameTxt.Text
->
Dim oledb As String = "SELECT * FROM kucun WHERE [hname] =' " & NameTxt.Text & "'"
  adapter.Update(ds, "kucun")

这句是不是要更新记录