【问题标题】:How can I cast SQL DateTime Null to c# 'DateTime?' (Nullable<DateTime>)? [duplicate]如何将 SQL DateTime Null 转换为 c# 'DateTime? (可空<日期时间>)? [复制]
【发布时间】:2015-04-17 13:48:29
【问题描述】:

当数据库值“CompletionDate”为 Null 时。我收到错误:指定的演员表无效

我想使用“日期时间?”带问号将允许此演员表起作用。

有什么建议吗?

public class Application
{
    public int Id;
    public DateTime? CompletionDate;

    private static Application LoadFromDatabase(int id)
    {
        DataRow dr = null; // Loaded from database

        return new Application()
        {
            Id = (int) dr["ApplicationId"],
            CompletionDate = (DateTime?)dr["CompletionDate"]
        };
    }
}

【问题讨论】:

    标签: c# sql .net sql-server datetime


    【解决方案1】:

    我通常做的是为此使用三元运算符。这是一个例子:

    CompletionDate = !dr.IsNull("CompletionDate") ? (DateTime)dr["CompletionDate"] : new DateTime?();
    

    【讨论】:

      猜你喜欢
      • 2019-05-20
      • 2013-05-14
      • 2017-02-06
      • 2019-11-07
      • 1970-01-01
      • 2013-07-30
      • 1970-01-01
      • 2020-03-04
      • 2023-04-11
      相关资源
      最近更新 更多