【发布时间】:2015-04-22 11:12:13
【问题描述】:
当我使用搜索时
....LIKE '%" + txtName.Text + "%'.....
然后它返回所有包含txtName 的行。像这样的名字是可以的
-
比杰或
-
比杰·库马尔。
并且行包含类似的数据
-
比杰,
-
比杰库马尔库什,
-
比杰库什。
在这种情况下,当使用txtName (如Bijay Kush)进行搜索时,它应该返回Bijay kumar kush 和Bijay 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 查询。而是使用 sql-parameters 来防止 sql 注入和其他问题。
-
感谢您让我了解 SQl 注入 @TimSchmelter