[CSharp]DataTable.Select()方法filter表达式转义

DataTable.Select()

调用

Select.SelectRows()

调用

Select.GetRows()

返回

DataRow[]

Select对象访问级别为internal

 

 

测试代码:

            DataTable dt = new DataTable();
            dt.Columns.Add("Source");

            DataRow dr = dt.NewRow();
            dr["Source"] = "hao123mphhn'b'b'bb'bb' 'b";
            dt.Rows.Add(dr);

            // 转义正确
            string filterExp = string.Format("Source = '{0}'", "hao123mphhn'b'b'bb'bb' 'b".Replace("'", "''"));
            //// 转义不正确
            //string filterExp = string.Format("Source = '{0}'", "hao123mphhn'b'b'bb'bb' 'b".Replace("'", "\'"));
            DataRow[] rowFounds = dt.Select(filterExp);

 

posted @ 2013-06-09 11:04  安布雷拉  阅读(3132)  评论(0编辑  收藏  举报