我有一个代表搜索框的文本框:
这是我的代码示例:
Dim txt As String = txt_find.Text
query = "SELECT empID AS 'ID', fname + ' ' + mname + ' ' + lname AS 'Name' FROM empInfo "
query &= "WHERE empID LIKE '%" & txt & "%' OR fname LIKE '%" & txt & "%' OR lname LIKE '%" & txt & "%' OR mname LIKE '%" & txt & "%'"
如果用户只输入了员工的名字或姓氏,则返回正确的值
例如:
输入:28或Dennis Or Smith
但是当用户输入全名(例如Dennis Smith)时,结果不会返回任何内容。
应该怎么做?。
答案 0 :(得分:2)
试试这个:
"where Empid like '%" & txt & "%' OR replace(fname + mname + lname,' ','') like replace('%" & txt & "%',' ', '')"
因此,如果您输入'Dennis Smith'或'DennisSmith',它将捕获结果行
答案 1 :(得分:1)
你可以尝试:
"WHERE fname+' '+lname like '%" & txt & "' OR fname+' '+mname+' '+lname like '%" & txt & "'"
这只是想法,你只需要包含可能的名称格式,如 LastName,FirstName MiddleName ,或者如果你能想到更多,你可以更好地处理你的搜索。
答案 2 :(得分:0)
也许你应该这样。
"WHERE LastName like '%" & LastName.text & "%' OR fname LIKE '%" & FirstName.text & "%'" and so on.
只需在搜索中使用重要字段即可。名字或姓氏都可以。