如何使用搜索项文本框填充vb中的checkedlistbox

时间:2015-02-23 09:35:01

标签: vb.net

我制作了程序来填写清单框中的员工姓名。现在我需要一个搜索框来搜索组合框中的项目。当我输入匹配的项目必须在选中的列表框中列出。为什么我在vb.net中编码? 在按键甚至驱动部分我给出了代码,但它不能正常工作。请提供足够的信息。我的代码在下面给出

Private Sub TextBox1_TextChanged(sender as Object,e As EventArgs)处理TextBox1.TextChanged

    Dim conobj As Class1
    conobj = New Class1
    conobj.connection()

    Dim str1 = "select distinct e.vc_empname xxxxxxx e.vc_empname like '" & Me.TextBox1.Text & "%' order by e.vc_empname"

    conobj.readdata1(str1)
    CheckedListBox1.DataSource = conobj.ds.Tables(0)
    CheckedListBox1.DisplayMember = "vc_empname"
    CheckedListBox1.ValueMember = "vc_empname"

End Sub

1 个答案:

答案 0 :(得分:0)

即使“但它不能正常工作”也很模糊,我会试一试。使用As子句指定别名。另外,使用Where来过滤记录:

Dim str1 = "select distinct e.vc_empname As xxxxxxx e.vc_empname Where vc_empname  like '%" & Me.TextBox1.Text & "%' order by e.vc_empname"

请注意,您应始终使用sql-parameters来防止sql-injection和其他问题。我也强烈discourage from global connection classes喜欢你的Class1,它也拥有连接。如果是Shared / static,则更多。这可能会导致默认情况下启用的连接池问题。如果不公开连接和其他ADO.NET对象,则使用Using - 语句(您应该使用)也更加困难。如果方法readdata1不接受它们,那么传递sql参数也很困难。