使用文本框的Datagrid过滤器

问题描述 投票:0回答:3

美好的一天!我正在添加一个文本框,用于过滤名称,姓氏等,但我只能过滤一个数据。

这是代码:

Private Sub Filter_TextChanged(sender As Object, e As EventArgs) Handles filter.TextChanged
        'Dim command As New MySqlCommand("SELECT * FROM `employee` WHERE CONCAT('Firstname','Lastname') like '%" & filter.Text & "%'")
        Dim conenc As New MySqlConnection
        conenc.ConnectionString = ("host=127.0.0.1; user=root; database=library")
        Dim tablee As New DataTable()
        Try
            conenc.Open()
            Dim adapter As New MySqlDataAdapter("SELECT * FROM library.employee WHERE Firstname like '%" & filter.Text & "%'", conenc)
            adapter.Fill(tablee)
            emplo.DataSource = tablee
            conenc.Close()

        Catch ex As Exception
            MsgBox(ex.Message)
        Finally
            conenc.Dispose()

        End Try

在线:

Dim adapter As New MySqlDataAdapter(“SELECT * FROM library.employee WHERE Firstname like'%”&filter.Text&“%'”,conenc)

我想添加多个值,如姓氏,中间名。

vb.net
3个回答
0
投票

如果设置了第一个过滤器,则需要将“And”设置为未使用的字符串变量,如果选择另一个过滤器则在该过滤器的SQL之前连接“And”。我希望这是有道理的。


0
投票

也许尝试更像这样(使用参数)

    Dim TxBoxSearch As New TextBox
    Dim conenc As New SqlConnection
    Dim CmdEmployee As New SqlCommand("SELECT *, Firstname + Lastname AS FullName 
                                        FROM library.employee WHERE FullName like '%@SearchString%'", conenc)
    With CmdEmployee
        .Parameters.AddWithValue("@SearchString", TxBoxSearch.Text)
    End With

0
投票

我想你应该尝试这段代码,只需在你的代码中为姓氏添加第二个条件,如下所示:

Dim adapter As New MySqlDataAdapter("SELECT * FROM library.employee WHERE Firstname like '%" & filter.Text & "%' and Lastname like '%" & filter2.Text & "%'", conenc)

我希望它可以帮助你,,, ^ _ ^

© www.soinside.com 2019 - 2024. All rights reserved.