C# Datatable的Select方法
lubiaopan 原文 Datatable的Select()方法简介
DataTable是我们在进行开发时经常用到的一个类,并且经常需要对DataTable中的数据进行筛选等操作,下面就介绍一下Datatable中经常用到的一个方法——Select,微软提供了四个函数的重载,分别是
Select() Select(string filterExpression) Select(string filterExpression, string sort) Select(string filterExpression,string sort, DataViewRowState record States)。
1) Select()——获取所有 System.Data.DataRow 对象的数组。
2) Select(string filterExpression)——按照主键顺序(如果没有主键,则按照添加顺序)获取与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。
3) Select(string filterExpression, string sort)——获取按照指定的排序顺序且与筛选条件相匹配的所有 System.Data.DataRow 对象的数组。
4) Select(string filterExpression, string sort, DataViewRowState recordStates)——获取与排序顺序中的筛选器以及指定的状态相匹配的所有 System.Data.DataRow 对象的数组。
下面是对这些方法进行演示的示例:
using System; using System.Collections.Generic; using System.Text; using System.Data;namespace TestDataTableSelect {class Program{static DataTable dt = new DataTable();static void Main(string[] args){ DataColumn dc1 = new DataColumn("id");dc1.DataType=typeof(int);DataColumn dc2 = new DataColumn("name");dc2.DataType=typeof(System.String);dt.Columns.Add(dc1);dt.Columns.Add(dc2);for (int i = 1; i <=10;i++ ){DataRow dr = dt.NewRow();if (i <= 5){dr[0] = i;dr[1] = i + "--" + "hello";}else{dr[0] = i;dr[1] = i + "--" + "nihao";}dt.Rows.Add(dr);}Select();Select("id>='3' and name='3--hello'");//支持andSelect("id>='3' or id='1'");//支持orSelect("name like '%hello%'");//支持like Select("id>5","id desc");Select("id>5", "id desc",DataViewRowState.Added);}private static void Select(){DataRow[] arrayDR = dt.Select();foreach(DataRow dr in arrayDR){Console.WriteLine(dr[0].ToString()+" "+dr[1].ToString());}Console.ReadLine();}private static void Select(string filterExpression){DataRow[] arrayDR = dt.Select(filterExpression);foreach (DataRow dr in arrayDR){Console.WriteLine(dr[0].ToString() + " " + dr[1].ToString());}Console.ReadLine();}private static void Select(string filterExpression, string sort){DataRow[] arrayDR = dt.Select(filterExpression,sort);foreach (DataRow dr in arrayDR){Console.WriteLine(dr[0].ToString() + " " + dr[1].ToString());}Console.ReadLine();}private static void Select(string filterExpression, string sort, DataViewRowState recordStates){DataRow[] arrayDR = dt.Select(filterExpression, sort,recordStates);foreach (DataRow dr in arrayDR){Console.WriteLine(dr[0].ToString() + " " + dr[1].ToString());}Console.ReadLine();}} }
注意事项:上面的Select操作是大小写不敏感的(记录的字段不敏感),如果需要区分大小写,需要将DataTable的caseSensitive属性设为true。
转载于:https://www.cnblogs.com/arxive/p/6007528.html
C# Datatable的Select方法相关推荐
- C# DataTable的Select()方法不支持 != 判断
异常描述: 用户代码未处理 System.Data.SyntaxErrorException HResult=-2146232032 Message=无法解释位置 23 的标记"!" ...
- [datatable]关于在DataTable中执行DataTable.Select(“条件“)返回DataTable的解决方法
[datatable]关于在DataTable中执行DataTable.Select("条件")返回DataTable的解决方法 参考文章: (1)[datatable]关于在Da ...
- webform计算某几列结果_利用DataTable.Compute等方法和属性做各种统计(某一列的总和sum、不重复的某列记录数distinct)...
对应sql语句 select UserID, UserName, UserMoney from Users 从数据库里利用SqlDataAdapter读取出DataSet的方法不写了,这个好简单,写统 ...
- DataTable数据过滤方法
转自:https://blog.csdn.net/u011981242/article/details/52419460 筛选DataTable中的数据,使用 Select()方法,筛选结果可以保存到 ...
- C#中协变和逆变的基本概念、List和List.Select方法的命名空间
在 C# 中,协变和逆变能够实现数组类型.委托类型和泛型类型参数的隐式引用转换. 协变保留分配兼容性,逆变则与之相反. msdn 解释如下: "协变"是指能够使用与原始指定的派生类 ...
- DataTable的AcceptChange方法为什么不能在Update之前?
本人转载http://www.cnblogs.com/telnet_mike/archive/2011/08/29/2159013.html 总结:DataTable.AcceptChanges相当于 ...
- 【jQuery源码】select方法
1 /** 2 * select方法是Sizzle选择器包的核心方法之一,其主要完成下列任务: 3 * 1.调用tokenize方法完成对选择器的解析 4 * 2.对于没有初始集合(即seed没有赋值 ...
- java mysbatis select_java相关:详解Mybatis中的select方法
java相关:详解Mybatis中的select方法 发布于 2020-7-3| 复制链接 摘记: selectById方法根据id,查询记录 ```java public void updateRe ...
- 【Java】NIO中Selector的select方法源码分析
该篇博客的有些内容和在之前介绍过了,在这里再次涉及到的就不详细说了,如果有不理解请看[Java]NIO中Channel的注册源码分析, [Java]NIO中Selector的创建源码分析 Select ...
- ruby hash方法_Ruby中带有示例的Hash.select方法
ruby hash方法 哈希选择方法 (Hash.select Method) In this article, we will study about Hash.select Method. The ...
最新文章
- X-Forwarded-For 会少记录一次代理服务器的IP
- mysql栏的范围外值,MySQL中各种字段的取值范围-数据库专栏,MySQL
- 还有人记得【日之韵】吗?——提供下载
- Linux软件安装管理 - CentOS (二) ---- yum在线安装
- mysql 删除视图 命令_在MySQL中,删除视图使用(????)命令。
- error C2664: “wcscpy”: 不能将参数 1 从“LPSTR”转换为“wchar_t *”
- 基于scrapy爬虫的天气数据采集(python)
- mysql期末考试试卷_mysql试题
- 卢克增加服务器,DNF卢克跨区服务器崩溃?策划:暗制造者临时加入安图恩攻坚...
- Nginx 附录A 编码风格 和 附录B 常用API
- 因“5毛钱”惹众怒的丰巢:我错了,下次还敢
- 基于Visual C++2013拆解世界五百强面试题--题8-数组的排序和查找
- 从PCA和SVD的关系拾遗
- realtekrtl8139网卡驱动 linux,Realtek网卡驱动官方版-瑞昱网卡驱动下载-PC下载网
- 网页设计_导航条_下拉菜单
- 生活娱乐 360安全卫士和QQ大战
- 评价PE基金绩效的常用指标IRR、MIOC、DPI、TVPI意义
- 戴仁光:神奇的推广力量——软文
- 网络打印机计算机服务,Win7怎么开启打印机服务 Win7开启打印机服务方法 (全文)...
- 脱离标准流(1)浮动
热门文章
- 【POJ2406】Power Strings(hash/kmp)
- 联想微型计算机改win76,装不了Win7?采用第六代酷睿处理器的电脑改装Win7的方法...
- 毕业生推荐表特长计算机专业,优秀毕业生推荐表个人简历怎么写
- 机器学习- 吴恩达Andrew Ng - week3-1 Classification
- 极客大学架构师训练营-架构师技术图谱-大作业二
- 获取最顶层的ViewController top ViewController swift
- java的css的块_CSS基础知识(概念、块级元素、行内元素、选择器)
- 2021-09-07LFM(latent factor model)
- Spring Cloud随记---分布式配置中心初探--一个单节点的配置中心
- HMM和Viterbi