美好的一天!我正在添加一个文本框,用于过滤名称,姓氏等,但我只能过滤一个数据。
这是代码:
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)
我想添加多个值,如姓氏,中间名。
如果设置了第一个过滤器,则需要将“And”设置为未使用的字符串变量,如果选择另一个过滤器则在该过滤器的SQL之前连接“And”。我希望这是有道理的。
也许尝试更像这样(使用参数)
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
我想你应该尝试这段代码,只需在你的代码中为姓氏添加第二个条件,如下所示:
Dim adapter As New MySqlDataAdapter("SELECT * FROM library.employee WHERE Firstname like '%" & filter.Text & "%' and Lastname like '%" & filter2.Text & "%'", conenc)
我希望它可以帮助你,,, ^ _ ^