1,查询出datatable以后还想继续操作数据
DataTable newdt = new DataTable();//创建新的dt
newdt = dt.Clone(); // 克隆dt 的结构,包括所有 dt 架构和约束,并无数据;
DataRow[] drArrY = dt.Select("callNo like 'y%'", "isrtDt asc");
DataRow[] drArrH = dt.Select("callNo like 'h%'", "isrtDt asc");
foreach (DataRow row in drArrY) // 将查询的结果添加到dt中;
{
newdt.Rows.Add(row.ItemArray);
}
foreach (DataRow row in drArrH) // 将查询的结果添加到dt中;
{
newdt.Rows.Add(row.ItemArray);
}
dt = newdt;
2.关于DataTable.Select();
Select方法:
Select();//全部查出来
Select(过滤条件);//根据过滤条件进行过滤,如Select("columnname1 like '%xx%'");
Select(过滤条件,排序字段);//过滤,并排序,如Select("columnname1 like '%xx%'",columnname2);
完成一个查询,返回一个DataTable后,很多时候都想在查询结果中继续搜索。这时可以使用DataTable.Select方法对结果进行再查询。
Select方法有4个重载,我们经常用到的就是DataTable.Select(String) ;
下面就说说带一个参数的DataTable.Select(String):
这个String的参数是查询的限定式。相当于SQL查询语言中的WHERE语句(不含WHERE),其语法符合SQL语言语法。 (网友的说法)我觉得就是类似sql的语法而已。
不支持between and语法,需要替换成 <= 或 >=
一定要注意单引号的问题;我之前就是把变量用双引号括起来了,一直出错,后来在网上查,发现要先有双引号,再用单引号;即‘“变量”’;