我正在vb.net中创建一个数据库应用程序,我需要实现一个搜索功能,该搜索功能应该搜索整个数据库并返回用户在数据库中找到的包含DataGridView控件中搜索字符串的记录列表。
我使用了一个名称为“colNames”的组合框和一个文本框,我们在其中输入名为“colValues”的搜索字符串。
以下是点击搜索按钮时使用的代码:
Dim ds As New DataSet
Dim query As String = "select * from customer where " + colNames.SelectedValue.ToString + " LIKE " + "'%" + colValues.Text + "%'"
CustomerTableAdapter.Connection.Open()
Dim adp As New SqlDataAdapter(query, CustomerTableAdapter.Connection.ConnectionString)
adp.Fill(ds, "customer")
CustomerTableAdapter.Connection.Close()
filteredRecords.DataSource = ds
filteredRecords.DataMember = "customer"
上面的代码在第6行抛出异常(adp.Fill(ds,“customer”)):“多部分标识符”System.Data.DataRowView“无法绑定”。
请帮我调试或建议新代码,以便我可以实现搜索功能。
答案 0 :(得分:-1)
以下代码对我有用:
<br><br>Private Sub colValues_TextChanged(sender As Object, e As EventArgs) Handles colValues.TextChanged
<br>Dim ds As New DataSet
<br>Dim query As String = "select * from customer where " + search_by.SelectedItem.ToString + " LIKE " + "'%" + colValues.Text + "%'"
<br>CustomerTableAdapter.Connection.Open()
<br>Dim adp As New SqlDataAdapter(query, CustomerTableAdapter.Connection.ConnectionString)
<br>adp.Fill(ds, "customer")
<br>CustomerTableAdapter.Connection.Close()
<br>filteredRecords.DataSource = ds
<br>filteredRecords.DataMember = "customer"
<br>End Sub
我在搜索框的文本更改事件中写了整个代码。
在上面的代码中,search_by是一个列表框,列出了各种名称,电话,地址等名称,而colvalues是我输入搜索字符串的文本框的名称。