C# DataTable.Select()根据条件筛选数据问题
作者:LcVong 发布时间:2021-10-14 16:53:34
标签:C#,DataTable,Select,筛选数据
DataTable.Select()根据条件筛选数据
很多时候我们获取到一个表的时候需要根据表的包含的队列去筛选内容,一般来说可能想到的就是遍历整个表的内容进行条件筛选,但是这种方式增加了代码量且易出错,DataTable.Select()就可以解决这一问题。
DataTable.Select()重载
**Select();**获取所有 System.Data.DataRow 对象的数组;
**Select(string filterExpression);**按照主键顺序(如果没有主键,则按照添加顺序)获取与筛选条件相匹配的所有 System.Data.DataRow 对象的数组;
**Select(string filterExpression, string sort);**获取按照指定的排序顺序且与筛选条件相匹配的所有System.Data.DataRow 对象的数组;
**Select(string filterExpression,string sort, DataViewRowState record States);**获取与排序顺序中的筛选器以及指定的状态相匹配的所有。
举例
Select("Results = 'PASS' ");//筛选字段‘Results '为‘PASS'的所有数据
Select("Time>= 100 ");//筛选字段‘Time'大于等于100的所有数据
Select("Results = 'PASS' and Time>= 100 ");//筛选字段‘Results '为‘PASS'且字段‘Time'大于等于100的所有数据
Select("Results = 'PASS' or Time>= 100 ");//筛选字段‘Results '为‘PASS'或者字段‘Time'大于等于100的所有数据
Select("Results like '%NG_%' ");//筛选字段‘Results '字段中包含'NG_'字符串的所有数据
DataTable常用数据筛选方法
Computer
按条件筛选数据并对数据进行统计运算
dtData.Compute("Avg(身高)", "年龄 > 22 AND 姓名 LIKE '李%'");
Select
根据条件查询一行或多行数据
DataRow[] drs = dtData.Select("姓名 is NULL");
Find
根据DataTable的主键查找1行数据,只能查找主键字段
如果主键是多个字段,需要借助Object[]数组进行拼接
主键只有一个字段
DataRow dr = this.dt.Rows.Find("14109");
主键有多个字段
Object[] obj= new Object[]{268,"2001-7-1"};
DataRow dr = dt.Rows.Find(obj);
来源:https://blog.csdn.net/LcVong/article/details/124481510


猜你喜欢
- 效果图:这种效果的实现这里是采用自定义ExpandableListView,给它设置一个指示布局,在滑动过程中监听当前是否应该悬浮显示分类来
- 关于约瑟夫环的基本知识:罗马人攻占了乔塔帕特,41人藏在一个山洞中躲过了这场浩劫。这41个人中,包括历史学家josephus和他的一个朋友。
- 在使用AbstractRoutingDataSource配置多数据源时,发现使用@aspect配置的DataSourceSwitchAspe
- struts2可以非常简单地使用FreeMarker模板作为视图技术,对于传统的jsp页面而言,FreeMarker是一个绝佳的替代方案。除
- java 多线程的三种构建方法继承Thread类创建线程类public class Thread extends Object
- 解决库存扣减及订单创建时防止并发死锁的问题在我们日常开发的过程可有会遇到以下错误事务(进程 ID 82)与另一个进程被死锁在 锁 资源上,并
- 对Android的SD卡进行读取权限设置时: <uses-permission android:name="android.
- * 验证码地址:https://007.qq.com/online.html* 使用OpenCv模板匹配* 成功率90%左右* Java +
- 在Android系统的江湖中有四大组件:活动(Activity), 服务(Service), 广播 * (Broadcast Reciver
- 第 1 步:将这个 Spring Boot 项目的打包方式设置为 war。<packaging>war</packagin
- 创建started service 应用组件(例如Activity)
- 这两个update都是使用generator生成的mapper.xml文件中,对dao层的更新操作update更新传回数据的所有字段,没有传
- 0x00 关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个
- 目录前言方案一: 数组方案二:HashMap由 key 获取 value由 value 获取 key解决方案三:枚举总结前言开发系统一些状态
- 前台处理首先前台先要获取所有的要删除数据的ID,并将ID拼接成字符串 例如: 2,3,4,5,然后通过GET请求返送到后台。后台处理控制器接
- BroadcastReceiver(广播 * ),在Android开发中,BroadcastReceiver的应用场景非常多,属于Andro
- 本文实例讲述了Android中SeekBar和RatingBar用法。分享给大家供大家参考,具体如下:什么是SeekBar?可以拖动的进度条
- 本文实例讲述了Android编程判断是否连接网络的方法。分享给大家供大家参考,具体如下:判断wifi网络是否链接:public static
- 最近做项目中遇到ToolBar因为不同的界面toobar不同为了描述统一的风格。相信大家也非常清楚,大多数ToolBar包括以下几个方面左标
- 比较适合新手。逻辑上仍然有点问题。可以用于学习java文件操作下载地址:http://yun.baidu.com/share/link?sh