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

 更新时间:2023年01月20日 10:43:30   作者:LcVong  
这篇文章主要介绍了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);

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • C#基于OLEDB获取Excel文件表结构信息的方法

    C#基于OLEDB获取Excel文件表结构信息的方法

    这篇文章主要介绍了C#基于OLEDB获取Excel文件表结构信息的方法,结合实例形式分析了OLEDB的调用及Excel的相关操作技巧,需要的朋友可以参考下
    2017-05-05
  • C# Winfom 中ListBox的简单用法详解

    C# Winfom 中ListBox的简单用法详解

    这篇文章主要介绍了C# Winfom 中ListBox的简单用法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • 共享锁using范围的实现方法

    共享锁using范围的实现方法

    共享锁using范围的实现方法,需要的朋友可以参考一下
    2013-04-04
  • C#编写游戏客户端的实现代码

    C#编写游戏客户端的实现代码

    这篇文章主要介绍了C#编写游戏客户端的实现代码,连接客户端原理流程图,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-11-11
  • C#压缩和解压文件的两种方法

    C#压缩和解压文件的两种方法

    在C#中,我们可以使用内置的System.IO命名空间下的几个类来处理文件的压缩和解压缩,主要涉及到两个常用的库:System.IO.Compression和WinRAR,以下是使用这些类进行文件压缩和解压缩的基本步骤,需要的朋友可以参考下
    2024-08-08
  • 解答“60k”大佬的19道C#面试题(上)

    解答“60k”大佬的19道C#面试题(上)

    这篇文章主要解答了“60k”大佬的19道C#面试题中的10道,文中的面试题比较小众,作者给了不错的答案,相信对你以后的面试有所帮助,感兴趣就来了解下
    2020-06-06
  • c#基础系列之ref和out的深入理解

    c#基础系列之ref和out的深入理解

    有过C#基础知识的都应该清楚Ref和Out的使用方法,所以下面这篇文章主要给大家介绍了关于c#基础系列之ref和out的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧
    2018-09-09
  • C#中的DataSet、string、DataTable、对象转换成Json的实现代码

    C#中的DataSet、string、DataTable、对象转换成Json的实现代码

    这篇文章主要介绍了C#中的DataSet、string、DataTable、对象转换成Json的实现代码,需要的朋友可以参考下
    2014-09-09
  • C#中如何使用Chart图表问题

    C#中如何使用Chart图表问题

    这篇文章主要介绍了C#中如何使用Chart图表问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • C#访问SQLServer增删改查代码实例

    C#访问SQLServer增删改查代码实例

    这篇文章主要为大家详细介绍了C#访问SQLServer增删改查代码实例,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论