C在一个DataTable中,Select方法如何写筛选条件达到过滤出数值型空的值?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C在一个DataTable中,Select方法如何写筛选条件达到过滤出数值型空的值?相关的知识,希望对你有一定的参考价值。
比如一个DataTable 的结构和数据如下
StuNo(char3) StuAge(int)
001 1
002
003 3
这么使用Select方法,从而可以达到把002选出来(因为StuAge空)。
注意,列StuAge没有默认值。所以如果没有给它赋值,他的值是System.DBNull.Value.
需要说明的是,我不想通过循环语句一条记录一条记录地查找。所以必须要用DataTable的Select方法实现。
谢谢大家!
select * from DataTable where StuAge is null
Datatable LINQ select datarow 只返回一行以及如何排序
【中文标题】Datatable LINQ select datarow 只返回一行以及如何排序【英文标题】:Datatable LINQ select datarow only returning one row and how to order 【发布时间】:2014-07-16 15:27:41 【问题描述】:我有一个包含 4 列的数据表
- A|1|苹果|萝卜 - A|2|水|水果 - B|1|水|橙 - B|2|水|芒果 - C|1|你好|世界我想要做的是选择不同的 A 列。然后我想根据 A 列选择不同的列 2、3、4。
这就是我用来选择不同列 A 的方法。我对第一部分的问题是如何按列 A (linkControl) 排序。成员是我的数据表,这将返回每个不同的列 a
var linkControl = Member.AsEnumerable()
.Select(row => new
linkCon = row.Field<string>("LinkControl")
)
.Distinct();
然后因为我想迭代每个 linkCon,我执行以下操作,即使每个 linkCon 大约有 20 个数据行,它也只返回一个数据行。如何返回所有行?
foreach (var linkC in linkControl)
var linkControllink = (from DataRow dr in ADMemberships.Rows
where dr["LinkControl"] == linkC.linkCon
orderby (string)dr["URLDescription"]
select dr);
foreach (var lcl in linkControllink)
//only has one row in it
【问题讨论】:
【参考方案1】:我不得不将代码更改为where dr["LinkControl"].ToString() == linkC.linkCon.ToString()
,我真的不明白为什么。
【讨论】:
以上是关于C在一个DataTable中,Select方法如何写筛选条件达到过滤出数值型空的值?的主要内容,如果未能解决你的问题,请参考以下文章
如何将 DataTable.Select() 结果传递给新的 DataTable?