static void UseOrderByWhere( )
{
DataSet ds = BuildOneDTDataSet( ); //获取数据集ds
DataTable dt = ds.Tables["PeopleDT"]; //从数据集ds中获取名为“PeopleDT”的数据表dt
//查询query3查询数据表中所有年龄大于22的人,并且按照年龄从低到高排序
var query3 =
from pl in dt.AsEnumerable( )
orderby pl.Field<int>("Age")
where pl.Field<int>("Age") > 22
select pl;
System.Console.WriteLine("Query3:");
foreach (var item in query1) //打印查询query3的结果
{
System.Console.WriteLine("姓名:{0},性别:{1},年龄:{2}",
item.Field<string>("Name"), item.Field<string>("XingBie"), item.Field<int>("Age"));
}
//查询query4查询数据表中所有年龄大于20小于25的人,并且按照年龄从高到低排序
var query4 =
from pl in dt.AsEnumerable( )
orderby pl.Field<int>("Age") descending
where pl.Field<int>("Age") > 20
where pl.Field<int>("Age") < 25
select pl;
System.Console.WriteLine("Query4:");
foreach (var item in query2) //打印查询query4的结果
{
System.Console.WriteLine("姓名:{0},性别:{1},年龄:{2}",
item.Field<string>("Name"), item.Field<string>("XingBie"), item.Field<int>("Age"));
}
}
示例代码的输出如下所示,其中,query3输出是年龄大于22岁的记录,query4输出是年龄在20~25之间的记录。
Query3:
姓名:吴八,性别:男,年龄:24
姓名:夏七,性别:男,年龄:25
Query4:
姓名:吴八,性别:男,年龄:24
姓名:李花,性别:女,年龄:22
姓名:李四,性别:男,年龄:21
技巧:LINQ to DataSet查询DataTable的数据可以简单分成两个部分,首先是将DataTable转换成IEnumerable<T>数据集合,然后就是对IEnumerable<T>进行操作,这一步可以完全应用第7章介绍的所有LINQ查询操作。
dataTable内实现排序
最新推荐文章于 2023-04-21 15:48:31 发布