我是靠谱客的博主 完美小伙,这篇文章主要介绍ADO.NET编程(4)根据条件查询DataTable的值,现在分享给大家,希望可以做个参考。

ADO.NET 为我们提供了一些查询内存中数据表的API,利用这些API我们可以对内存中的DataTable进行类似于查询数据库查询的操作。

 

1.查询数据并对其进行排序

  当我们想要访问DataTable中特定的行时,可以根据这个表的一列或者多列作为搜索条件来访问这些数据行。

1.1 按照主键查找数据行

   和数据库中的表类似,每个DataTable都包括一个可选的主键定义,也就是一组被指定给该表PrimaryKey成员的DataColumn对象。主键可以是来自某一列的唯一值或者是多列组成的键,根据主键找到某一行可以使用 Rows.Find() 方法:

复制代码
1
1 DataRow result = someTable.Rows.Find(usePrimaryKey);

 

1.2 使用搜索条件筛选行

  使用主键进行搜索可以快速的找到对应的单行数据,但是如果想要搜索多列符合条件的数据行时,我们可以使用DataTable类的Select()方法,只需要向该方法传递一个包含搜索条件的字符串:

复制代码
1
1 DataRow[] resultRows = someTable.Select(filterCriteria);

搜索条件的字符串类似于T-SQL构建的一个布尔语句,如果想查看筛选表达式的完整说明,可以参考MSDN:DataColumn.Expression 属性。

 

1.3 对搜索结果进行排序

   默认的情况下,DataTable.Select 方法返回的DataRow对象的顺序就是这些对象被添加进表中的顺序。我们可以像SQL语句那样在查询条件中添加命令来表示排序规则:

复制代码
1
1 DataRow[] resultRows = someTable.Select(filterCriteria,sortRules);

 

1.4 查询时区分大小写

   默认情况下,DataTable.Select 方法是不区分大小写的,如果需要对筛选条件进行大小写区分,可以设置表的CaseSensitive属性即可:

复制代码
1
1 someTable.CaseSensitive = true;

  

2.使用表达式列

   DataTable同时也支持一个非常重要的功能:表达式列,就是可以根据其他行列中的数据来现实计算结果的字段。类似于T-SQL中提供的函数,我们可以根据现有行列的数据来计算出需要值。

  向DataTable中添加表达式列,可以创建一个标准的DataColumn对象,填充ColumnName和DataType属性,然后指定一个字符串表达式,对Expression属性执行自定义计算:

复制代码
1
2
3
4
5
6
7
8
9
10
1 DataColumn orderTotal = new System.Data.DataColumn(); 2 orderTotal.ColumnName = "Total"; 3 orderTotal.DataType = typeof(decimal); 4 orderTotal.Expression = "subtotal + ISNULL(TAX,0)"; 5 someTable.Columns.Add(orderTotal);

  

猛击下载:示例程序

 

参考资料:

《ADO.NET 4 Step by Setp》

DataColumn.Expression 属性

分类:  C#
本文转自gyzhao博客园博客,原文链接:http://www.cnblogs.com/IPrograming/archive/2012/11/23/ADO_NET_4.html ,如需转载请自行联系原作者

最后

以上就是完美小伙最近收集整理的关于ADO.NET编程(4)根据条件查询DataTable的值的全部内容,更多相关ADO.NET编程(4)根据条件查询DataTable内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(59)

评论列表共有 0 条评论

立即
投稿
返回
顶部