C# DataTable.Select()根据条件筛选数据问题

作者:LcVong 时间:2021-10-14 16:53:34 

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

标签:C#,DataTable,Select,筛选数据
0
投稿

猜你喜欢

  • 基于集合的子集与集合的全排列的相关问题

    2023-09-23 07:03:46
  • 一篇文章教你如何用多种迭代写法实现二叉树遍历

    2023-12-23 04:03:29
  • Java中间消息件ActiveMQ使用实例

    2021-10-10 14:24:21
  • 详解Java内存泄露的示例代码

    2023-06-08 03:34:51
  • 基于Java语言MD5加密Base64转换方法

    2023-11-24 00:22:41
  • Spring Validation方法实现原理分析

    2023-09-04 17:11:55
  • Android四大组件之broadcast广播使用讲解

    2023-07-27 12:41:50
  • 深入了解Java设计模式之策略模式

    2021-06-24 22:45:56
  • 利用Java理解sql的语法(实例讲解)

    2023-02-16 06:18:06
  • C#中const用法详解

    2021-08-12 15:30:29
  • 利用Spring Boot和JPA创建GraphQL API

    2023-04-01 07:11:41
  • Spring @Conditional注解原理解析

    2022-10-04 16:09:51
  • Java获取json数组对象的实例讲解

    2023-08-24 14:55:28
  • java二叉查找树的实现代码

    2022-08-12 02:36:43
  • 一文搞懂Java中的序列化与反序列化

    2021-11-22 00:26:45
  • Maven profile实现不同环境的配置管理实践

    2021-11-11 09:52:15
  • C#求n个数中最大值和最小值的方法

    2022-04-20 08:00:01
  • Java中Excel高效解析工具EasyExcel的实践

    2023-05-28 13:36:38
  • springboot如何使用logback-spring配置日志格式,并分环境配置

    2023-11-10 04:37:34
  • Java字符串拼接新方法 StringJoiner用法详解

    2022-06-16 13:02:13
  • asp之家 软件编程 m.aspxhome.com