获取DataTable字段唯一值(DISTINCT)
/// 将所选字段的唯一值复制到一个新的 DataTable。
/// <para>如果字段包含 NULL 值,目标表中的记录还包含 NULL 值</para>
/// </summary>
/// <param name="sourceTable">源数据表</param>
/// <param name="filterExpression">检索条件</param>
/// <param name="fieldName">唯一值的字段名</param>
/// <returns></returns>
public DataTable SelectDistinct(DataTable sourceTable, string filterExpression, string fieldName)
{
DataTable dt = new DataTable(sourceTable.TableName);
dt.Columns.Add(fieldName, sourceTable.Columns[fieldName].DataType);
object lastValue = null;
foreach (DataRow dr in sourceTable.Select(filterExpression, fieldName))
{
if (lastValue == null || !(ColumnEqual(lastValue, dr[fieldName])))
{
lastValue = dr[fieldName];
dt.Rows.Add(new object[] { lastValue });
}
}
return dt;
}
private bool ColumnEqual(object A, object B)
{
if (A == DBNull.Value && B == DBNull.Value)
return true;
if (A == DBNull.Value || B == DBNull.Value)
return false;
return (A.Equals(B));
}
转载于:https://www.cnblogs.com/EasyData/archive/2010/01/20/1652173.html
获取DataTable字段唯一值(DISTINCT)相关推荐
- Entity Framwork(EF) 7——在Controller内获取指定字段的值
Entity Framwork(EF) 7--在Controller内获取指定字段的值 一.开发背景: 在用户登录的时候,验证用户和密码是否正确.验证通过后将用户名和用户ID保存下来以便后续数据更新时 ...
- ArcEngine获取字段唯一值的三种方法
在做GIS数据处理时,我们经常需要获取某个字段的唯一值.我在这里总结了三种方法,下面分别进行说明. 方法一:读取表记录 这种方法就是逐条读取记录,然后选用合适的数据结构进行查重,它的好处就在于:不必去 ...
- solr 查询字段唯一值_《Solr实战》之一
本文记录笔者在阅读<Solr实战>的读书笔记,将笔者认为重要的内容摘录出来. Solr擅长处理的数据类型 以文本为中心 读主导 文档被读取的次数远大于被创建和更新的次数 面向文档 灵活的模 ...
- 获取某一列_Excel VBA 8.2 获取多列唯一值,不用肉眼,VBA帮你快速搞定
前景提要(文末提供源码下载) 昨天我们学习了针对单列的数据进行获取唯一值的方法,今天我们提升下难度,来尝试下获取已多列为参照物,获取唯一值的方法,昨天有很多小伙伴说还可以用字典的方法更加的简单,其实, ...
- elasticsearch获取一个字段的值_Elasticsearch,你觉得自己懂了多少,看看这篇文章吧...
Elasticsearch分析与检索功能实操 虽然通过文档_id可以获取到文档,但_id字段一般都是一个无意义的值,在实际应用中更多地是使用文档其它有意义字段做检索.Elasticsearch提供一个 ...
- ABAP 获取屏幕字段的值 搜索帮助联动动态查询SAP
获取屏幕上的值,优化搜索帮助做一个联动的查询,就需要获取其他再屏幕上输入的值 用到这个函数DYNP_VALUES_READ DATA: LT_DYNPREAD_2 TYPE STANDARD TABL ...
- thinkphp回调的php调用db类,请问thinkphp中model类自动完成功能 回调函数能不能获取其他字段的值?...
http://www.thinkphp.cn/api/source-class-Model.html#975 protected function _validationFieldItem($data ...
- BAP 使用DYNP_VALUES_READ来获取屏幕字段值
有的时候我们在程序中需要使用到屏幕字段的某些值,比如说一个search help的取数逻辑中要使用到已经输入的其他输入框中的值,但是结果往往不如人意,我们可能捕捉不到其他字段的值,从而无法得到我们想要 ...
- ABAP 使用DYNP_VALUES_READ来获取屏幕字段值
今早有朋友讨论DYNP_VALUES_READ的问题,自己也找了些资料,学习了一下,记录下来有待以后使用. 有的时候我们在程序中需要使用到屏幕字段的某些值,比如说一个search help的取数逻辑中 ...
最新文章
- 迭代var()内置函数的时候出现RuntimeError: dictionary changed size during iteration的解决办法...
- 解决AndroidStudio2.0导入eclipse项目时卡死的问题
- 功能更新|DAS推出全局Workload优化功能,实现SQL自动诊断
- iOS之深入解析类Class的底层原理
- 9.整型安全操作.rs
- python 物理引擎 摩擦力_参赛作品2-phenom的2D物理引擎
- Bootstrap 多级下拉菜单
- js打乱数字顺序吗_js如何将打乱的一维数组按顺序排列(不用封装好的js方法)?...
- c#不可忍受之慢——谁是罪魁祸首
- 【转】 Apache分析脚本
- content=IE=Edge是什么意思?
- 【错误记录】IntelliJ IDEA 编译 Groovy 项目报错 ( gradle-resources-test:XX: java.lang.NoClassDefFoundError: org )
- ShuipFCMS -- 简单强大内容管理系统
- 力扣刷题 DAY_67 回溯
- Predicting microbial interactions through computational approaches
- 2022华为机试真题 C++ 实现【数大雁】
- ROS机器人021-机器人命令行发送cmd_vel话题及/cmd_vel geometry_msgs/Twist示例
- windows搭建RN环境
- ADS designguide无法使用解决办法
- 在50户人家的狗中寻找病狗数量的趣味题目(详细解释)
热门文章
- QPS、TPS、并发用户数、吞吐量的关系
- Net中的Request和Response对象的理解
- 嵌入式C语言基础(二)
- 02如何抓住重点,系统高效地学习数据结构与算法?
- 安装pywin32时:ImportError: DLL load failed: %1 不是有效的 Win32 应用程序和 DLL load failed...
- TSPITR方式数据库找回误操作丢失的数据
- 【笔记】spring定时器时间配置实例
- python面向对象基础语言进阶
- Fiddle:使用断点:bpu,bpafter
- 360的下一代SOC是这个样子的