有没有办法在DataView上使用参数化过滤器?

时间:2009-12-04 00:44:20

标签: asp.net dataview

有没有办法在DataView上使用参数化过滤器?

我想根据用户的搜索条件过滤DataView中的行。在进行SQL查找时,我可以使用参数来帮助解决两个奇怪字符的问题并防止SQL注入。虽然来自用户的奇怪事物不会返回或损坏我的视图数据,但它会阻止搜索执行属性。

如果我有DataView DV,如何设置行过滤器以使输入“ test'test ”不会转义搜索字符串dv.rowfilter= “col like ‘” & searchtext & “’”

[编辑]

由于这是不可能的,我决定使用Linq和正则表达式。

1 个答案:

答案 0 :(得分:1)

我认为不可能使用DataView的参数。你可以做一个简单的字符串替换来转义单引号。

dv.rowfilter= “col like ‘%” & searchtext.Replace("'", "''") & “%’”

或者使用String.Format,我个人认为它更清洁。

dv.rowfilter= String.Format(“col like ‘%{0}%’”, searchtext.Replace("'", "''"));