【发布时间】:2023-03-31 16:51:01
【问题描述】:
美好的一天!我很难解决这个问题。我一直在寻找这个答案,但似乎很难找到最合适的答案。
我使用此查询根据用户在 txtSearchRP 文本框中输入的内容来搜索租户的名称,它非常适用于其中没有撇号的数据,但是当用户搜索包含 ' 的名称时,它不会运行良好。
示例:用户输入 MAX'S 以搜索 MAX'S RESTAURANT
SELECT * from tenant WHERE (name LIKE '%" + txtSearchRP.Text + "%')
提前感谢您的帮助!
编辑以获取更多信息:
我实际上是在用户单击按钮后将查询传递给 sqlDataSource 以自动绑定 gridview。
SqlDataSource3.SelectCommand = SELECT * from tenant WHERE (name LIKE '%" + txtSearchRP.Text + "%')
【问题讨论】:
-
只需将 MAX'S 中的单引号替换为两个单引号,即 name LIKE '%MAX''S%'
-
感谢回复,请注意点赞操作符必须基于搜索框(用户输入)-txtSearcRP.Text。如何使用您提出的答案修改 (name LIKE '%" + txtSearchRP.Text + "%')?
-
使用String的Replace方法
-
使用 NMK 的解决方案,因为它是免费的 SQL 注入
-
使用注入法,还有其他可能解决吗?