【发布时间】:2016-01-01 00:22:09
【问题描述】:
我想让搜索结果准确无误。 例如,我输入“L”,我的程序只显示任何包含字母“L”的结果,而不是显示第一个字母是“L”的结果。那该怎么做呢?
这是我的代码:
***在搜索框搜索或输入之前,用户必须先选择一个单选按钮来搜索列中的数据,在我的程序中有 3 个单选按钮(ID、姓氏、名字)
Private Sub txtSearch_TextChanged(sender As Object, e As EventArgs) Handles txtSearch.TextChanged
Dim DataTable As New DataTable
Dim DataAdapter As New MySqlDataAdapter
MySqlConn = New MySqlConnection
MySqlConn = New MySqlConnection("server=localhost;user id=root;password=root;database=PatientManagementSystem;")
MySqlConn.Open()
'SEARCH ID
If rdbtnID.Checked = True Then
txtSearch.MaxLength = 9
With cmd
.Connection = MySqlConn
.CommandText = "SELECT * FROM newpatient WHERE ID like '%" & txtSearch.Text & "%'"
End With
DataAdapter.SelectCommand = cmd
DataTable.Clear()
DataAdapter.Fill(DataTable)
dgvRecords.DataSource = DataTable
MySqlConn.Close()
'SEARCH LASTNAME
ElseIf rdbtnLastname.Checked = True Then
txtSearch.MaxLength = 32767
With cmd
.Connection = MySqlConn
.CommandText = "select * from newpatient where Lastname like '%" & txtSearch.Text & "%'"
End With
DataAdapter.SelectCommand = cmd
DataTable.Clear()
DataAdapter.Fill(DataTable)
dgvRecords.DataSource = DataTable
MySqlConn.Close()
'SEARCH FIRSTNAME
ElseIf rdbtnFirstname.Checked = True Then
txtSearch.MaxLength = 32767
With cmd
.Connection = MySqlConn
.CommandText = "SELECT * FROM newpatient WHERE Firstname like '%" & txtSearch.Text & "%'"
End With
DataAdapter.SelectCommand = cmd
DataTable.Clear()
DataAdapter.Fill(DataTable)
dgvRecords.DataSource = DataTable
MySqlConn.Close()
End If
End Sub
【问题讨论】: