当我使用

....LIKE '%" + txtName.Text + "%'.....

然后返回包含txtName的所有行。名字没关系
比杰或
比杰·库马尔。
行包含的数据如下
比杰,
比杰·库马尔·库什,
比杰·库什。
在这种情况下,当使用类似于Bijay kumar kushBijay Kush进行搜索时,它应该返回,txtNameBijay Kush。但没有得到这样的输出。如果不提供中间名而使用名字和姓氏进行搜索,则为空。这里txtName是用于搜索姓名的全名文本框。我想知道我在哪里犯了错误。如有任何帮助,将不胜感激。提前谢谢。我使用的是这种类型的查询,如果上面没有中间名,就不会返回结果。
...
if (!String.IsNullOrEmpty(txtName.Text) && !String.IsNullOrWhiteSpace(txtName.Text))
       SearchSqlDataSource.SelectCommand += " AND (New_Employees.Full_Name LIKE '%" + txtName.Text + "%' OR New_Employees.Full_Name LIKE '%" + txtName.Text + "%')

最佳答案

我建议用通配符替换所有空格。您可以在应用程序或数据库中执行此操作。假设基础数据库是SQL Server,则以下是数据库代码:

WHERE New_Employees.Full_Name LIKE REPLACE('%" + txtName.Text + "%', ' ', '%')

10-07 23:10