【问题标题】:Using an if statement to exclude a null date使用 if 语句排除空日期
【发布时间】:2022-10-21 22:20:16
【问题描述】:

我有一个 DataTable,其中有一个日期字段。我试图遍历它并将日期字段中的值放入变量中。

但是,当它为 null 时,oosDate = Convert.ToDateTime(dt.Rows[0][0]); 部分会导致错误。

所以我试图将它包装在一个 if 语句中,如下所示,在 if 执行该函数之前检查字段值是否为空。虽然它不起作用,但仍然执行Convert.ToDateTime(dt.Rows[0][0]) 功能。谁能告诉我为什么 != null 不起作用?

发生错误时,我检查了 dt.rows[0][0] 中的数据,它肯定显示为空

foreach (DataRow row in dt.Rows)
                    { 
                        if (dt.Rows[0][0] != null )
                        {
                            oosDate = Convert.ToDateTime(dt.Rows[0][0]);
                        }              
                    }

【问题讨论】:

  • 您是否尝试过与DbNull.Value 而不是null 进行比较?

标签: c#


【解决方案1】:

该值可能是DbNull,它不是真正的空值(null)。请尝试:

if (!dt.Rows[0].IsNull(0))

【讨论】:

    猜你喜欢
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-28
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多