博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ADO.NET编程(4)根据条件查询DataTable的值
阅读量:5136 次
发布时间:2019-06-13

本文共 1415 字,大约阅读时间需要 4 分钟。

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

 

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

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

1.1 按照主键查找数据行

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

1 DataRow result = someTable.Rows.Find(usePrimaryKey);

 

1.2 使用搜索条件筛选行

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

1 DataRow[] resultRows = someTable.Select(filterCriteria);

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

 

1.3 对搜索结果进行排序

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

1 DataRow[] resultRows = someTable.Select(filterCriteria,sortRules);

 

1.4 查询时区分大小写

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

1 someTable.CaseSensitive = true;

  

2.使用表达式列

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

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

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);

  

猛击下载:

 

参考资料:

转载于:https://www.cnblogs.com/IPrograming/archive/2012/11/23/ADO_NET_4.html

你可能感兴趣的文章
UI基础六:UI报弹窗确认
查看>>
SAP跳过权限检查/前提是有debug权限
查看>>
13年学习
查看>>
HTML5+ API 学习
查看>>
CodeForces 670D2 Magic Powder 二分
查看>>
不能以方法的方式使用不可调用的“system.web.httprequest.querystring”
查看>>
试用dotnetbar10,提供下载链接
查看>>
iptables动作总结之一
查看>>
单纯形法
查看>>
897. Increasing Order Search Tree
查看>>
51nod 1174 区间中最大的数
查看>>
ListView实现分页功能【附Demo源码】
查看>>
react --- 路由
查看>>
1.5 组件开发基础
查看>>
12.14
查看>>
第二代:晶体管计算机
查看>>
BNUOJ-26580 Software Bugs KMP匹配,维护
查看>>
【leetcode】Search for a Range
查看>>
json常识
查看>>
Vue声明渲染以及axios实例
查看>>