[C#]DataTable使用过程中常用的Select、Find和Compute方法
来源:互联网 发布:乐视网络电视app下载 编辑:程序博客网 时间:2024/06/05 06:14
DataTable是C#常用的一个类,在开发过程中会经常涉及到筛选,查找,运算等操作,数据量较大的时候,用Select,Find和Compute方法非常便捷,在使用的时候需要些表达式,常见的表达式如下:
首先,本例先实例化一个DataTable,代码:
DataTable dt = new DataTable(); DataColumn col1 = new DataColumn("ID", typeof(System.String)); DataColumn col2 = new DataColumn("姓名", typeof(System.String)); DataColumn col3 = new DataColumn("年龄", typeof(System.Int32)); DataColumn col4 = new DataColumn("性别", typeof(System.Boolean)); DataColumn col5 = new DataColumn("身高", typeof(System.Decimal)); dt.Columns.AddRange(new DataColumn[] { col1, col2, col3, col4, col5 }); dt.PrimaryKey = new DataColumn[] { col1}; dt.Rows.Add("14101", "张三", 24, true, 1.65); dt.Rows.Add("14102", "张三", 22, false, 1.71); dt.Rows.Add("14103", "张三", 21, true, 1.58); dt.Rows.Add("14104", "张三", 20, false, 1.69); dt.Rows.Add("14105", "李四", 23, true, 1.71); dt.Rows.Add("14106", "李四", 26, false, 1.72); dt.Rows.Add("14107", "李四", 24, true, 1.71); dt.Rows.Add("14108", "李四", 22, false, 1.79); dt.Rows.Add("14109", "李四", 25, true, 1.81); dt.Rows.Add("14110", null, 25, true, 1.81);
Compute方法,按条件筛选数据并对数据进行运算,代码:
object result = this.dt.Compute("Avg(身高)", "年龄 > 22 AND 姓名 LIKE '李*'"); Console.WriteLine("所有姓李并且年龄大于22岁的学生的平均身高是{0}米", result.ToString());
利用DataTableReader对象遍历DataTable,代码如下:
using(DataTableReader reader = this.dt.CreateDataReader()){ do { if (!reader.HasRows) { Console.WriteLine("没有数据"); } else { Console.WriteLine("===============开始读取数据==============="); while (reader.Read()) { for (int i = 0; i < reader.FieldCount; i++) { Console.Write(reader[i] + " "); } Console.WriteLine(""); } Console.WriteLine("===============读取数据完成==============="); } } while (reader.NextResult()); }
用DataTable.Select方法筛选数据:
DataRow[] resultArray = this.dt.Select("姓名 is NULL"); for (int i = 0; i < resultArray.Length; i++) { Console.WriteLine("姓名为空的ID:" + resultArray[i][0]); }
Select方法是根据条件查询一行或多行数据,当根据DataTable的主键查找1行数据时,可以使用Find方法:
DataRow dr = this.dt.Rows.Find("14109"); if (null != dr) { Console.WriteLine("学号为14109的学生姓名为:" + dr[1].ToString()); }
关于表达式的详细可以参见MSDN上关于Express的说明
0 0
- [C#]DataTable使用过程中常用的Select、Find和Compute方法
- [C#]DataTable使用过程中常用的Select、Find和Compute方法
- C#中DataTable中的Compute方法使用
- 使用DataTable.Compute方法
- DataTable的Compute方法和Expression语法
- DataTable.Compute方法使用实例
- DataTable.Compute方法使用实例
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用收集(续)
- C#中DataTable中的Compute方法使用收集
- C#中DataTable中的Compute方法使用收集
- Datatable.select() 方法的使用
- DataTable中执行DataTable.Select("条件")返回DataTable的方法
- DataTable用中使用Compute 实现简单的DataTable数据的统计.....
- DataTable用中使用Compute 实现简单的DataTable数据的统计
- 论文中图片处理体会
- meavn--Web开发神器
- FTP上传下载
- 【数学】 HDU 1124 Factorial
- Bootstrap介绍and入门
- [C#]DataTable使用过程中常用的Select、Find和Compute方法
- FA 分配已有资产 API Demo
- Unity3d 读取本地txt文件
- Qt-旋转图案
- 基于Map-Reduce的相似度计算
- Spring MVC应用web.xml两种配置
- android USB host APIs中文翻译
- 对Java实例的操作公共类
- android游戏开发(一)简单的图形渲染