有没有办法在DataView上使用参数化过滤器?
我想根据用户的搜索条件过滤DataView中的行。在进行SQL查找时,我可以使用参数来帮助解决两个奇怪字符的问题并防止SQL注入。虽然来自用户的奇怪事物不会返回或损坏我的视图数据,但它会阻止搜索执行属性。
如果我有DataView DV,如何设置行过滤器以使输入“ test'test ”不会转义搜索字符串dv.rowfilter= “col like ‘” & searchtext & “’”
?
[编辑]
由于这是不可能的,我决定使用Linq和正则表达式。
答案 0 :(得分:1)
我认为不可能使用DataView
的参数。你可以做一个简单的字符串替换来转义单引号。
dv.rowfilter= “col like ‘%” & searchtext.Replace("'", "''") & “%’”
或者使用String.Format
,我个人认为它更清洁。
dv.rowfilter= String.Format(“col like ‘%{0}%’”, searchtext.Replace("'", "''"));