如何检查 DataView.RowFilter 中的空白

发布于 2024-07-20 07:06:21 字数 232 浏览 10 评论 0原文

假设我有一个名为 A 的列,并且我想检查 A 是否为空或空白,那么使用 DataView 的 RowFilter 进行检查的正确方法是什么:

DataTable dt = GetData();

DataView dv = new DataView(dt);

dv.RowFilter = "A IS NOT NULL OR A IS NOT ''";

但上面的方法似乎不起作用。

Assuming I have a column called A and I want to check if A is null or blank, what is the proper way to check for this using the DataView's RowFilter:

DataTable dt = GetData();

DataView dv = new DataView(dt);

dv.RowFilter = "A IS NOT NULL OR A IS NOT ''";

The above doesn't seem to work though.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

雨落星ぅ辰 2024-07-27 07:06:21

您是否与 .net 绑定在一起? 3.5? 如果没有,您可以使用 linq 检查列的状态。

否则有一个像 T-SQL 中那样的 Isnull(,) 函数:

dv.RowFilter = "Isnull(a,'') <> ''";

Are you tied to .net < 3.5? If not you can use linq to check the state of a column.

Otherwise there is an Isnull(,) function like in T-SQL:

dv.RowFilter = "Isnull(a,'') <> ''";
难如初 2024-07-27 07:06:21

我假设您需要检索 A 列中的值既不是 null 也不是 '' 的所有记录

正确的表达式是:

 dv.RowFilter = "A IS NOT NULL AND A <> ''";

并在 dv.ToTable() 上检索过滤后的记录循环,如下所示:

foreach (DataRow dr in dv.ToTable().Rows)
    Console.WriteLine(dr["A"]);

这应该有效...干杯!!

I am assuming you need to retrieve all the records where the value in column A is neither null nor ''

The correct expr is:

 dv.RowFilter = "A IS NOT NULL AND A <> ''";

And to retrieve the filtered records loop on dv.ToTable() like this:

foreach (DataRow dr in dv.ToTable().Rows)
    Console.WriteLine(dr["A"]);

This should work ... cheers!!

孤独患者 2024-07-27 07:06:21

可以添加

dv.RowFilter = "CONVERT(Isnull(a,''), System.String) <> ''"

如果列的数据类型为数字 Isnull(a,' ,则 ') 将返回数字。 数字的评估<> 0 将抛出异常。

You can add

dv.RowFilter = "CONVERT(Isnull(a,''), System.String) <> ''"

if a column has data type of number as Isnull(a,'') would return number. Eval of number <> 0 would throw the exception.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文