使用列表框搜索算法

时间:2017-12-26 17:23:02

标签: vb.net ms-access listbox searchbar search-box

我正在尝试使用访问数据库创建一个搜索框/栏。我希望代码搜索记录,然后当我搜索另一条记录时,从列表框中删除/隐藏记录。我的程序在下面搜索记录并显示它,但是几乎没有问题。

    再次搜索时,
  1. 不会删除/隐藏记录。
  2. 如果记录不在数据库中或者搜索框为空,则
  3. 不响应。
  4.  Dim con As New OleDbConnection("Provider=Microsoft.jet.oledb.4.0;data source=C:\Users\jacob\Desktop\MS Office\project.mdb")
        Dim cmd As OleDbCommand = New OleDbCommand("SELECT * FROM tblProduct WHERE productID LIKE '" & txtSearch_Bar.Text & "'", con)
        con.Open()
        Dim sdr As OleDbDataReader = cmd.ExecuteReader()
    
        While (sdr.Read())
    
            lstbSearchResult.Items.Add(sdr("ProductID"))
    
        End While
    

    我还希望将其变成动态搜索栏。

1 个答案:

答案 0 :(得分:0)

我认为您的第一个要求已在评论中得到解决。对于第二个要求,请在While循环之前添加以下内容。

If Not sdr.HasRows Then
    MessageBox.Show("No Matches")
    Exit Sub
End If