.net中,DataView(DataTable) 如何实现“_”的模糊查询~?

来源:百度知道 编辑:UC知道 时间:2024/05/26 08:27:30
.net中,在DataView或DataTable中,可以进行以下模糊查询:
1.dataview1.RowFilter = "f1 like '%rr%'";
2.DataRow[] rows = datatable1.Select("f1 like '%rr%'");

这个我知道~

但现在我要进行以下模糊查询如何实现~:
1.dataview1.RowFilter = "f1 like 'rr__'";
2.DataRow[] rows = datatable1.Select("f1 like 'rr__'");
就如同sql里的:
select * from table1 where field1 like 'rr__'

看清楚了吗~?“_”代表单个字符,也就是说,要查询所有以“rr”开头,并且后面跟两位其他字符的记录~

在DataView和DataTable如何实现~?
(不要告诉我用sql语句查询数据库,这个我会的~)
.......

field1 like 'rr[_][_]'

这样不行,我试过了~~~

DataSet ds = new DataSet();
SqlConnection conn = new SqlConnection("server=localhost;uid=sa;pwd=sa;DataBase=pubs");
SqlDataAdapter ada = new SqlDataAdapter("select * from authors",conn);
conn.Open();
ada.Fill(ds,"a");
conn.Close();
DataView dv = new DataView();
dv.Table = ds.Tables[0];
dv.RowFilter = "au_fname like 'rr%'"; //RowFilter 的值和where语句的模糊查询语句一样
dv.Sort = "au_id DESC";
tst.DataSource=dv;
tst.DataBind();

_在C# RowFilter中是不行的我也试了,
dataview1.RowFilter = "f1 like 'rr%' and len(f1)=3";这样行吗?如果不行就用这种思路一定能解决。

field1 like 'rr[_][_]'