c# - 处理从数据库返回的空日期

标签 c# .net sql-server-2005 ado.net

您好,我正在尝试返回一个可能具有空日期值的集合。 但是,如果它们为 null - 我希望保持这种状态,而不仅仅是使用任意日期。

如果它是一个字符串,我会像这样检查空值:

calEventDTO.occurrenceType = dr.IsDBNull(10) ? null : dr.GetString(10);

我如何为约会做同样的事情? 以下不编译('null' 和 System.DateTime' 之间没有隐式转换)。

calEventDTO.recurrenceID = dr.IsDBNull(9) ? null : dr.GetDateTime(9);

我的 dto 设置为处理空值。

public DateTime? recurrenceID
    {
        get { return _recurrenceID; }
        set { _recurrenceID = value; }
    }

非常感谢任何提示/帮助/指针。 谢谢

最佳答案

尝试:

calEventDTO.recurrenceID = dr.IsDBNull(9) ? null : (DateTime?) dr.GetDateTime(9);

那个?运算符要求两个操作数(在本例中为 null 和 dr.GetDateTime(9))属于同一类型。

关于c# - 处理从数据库返回的空日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1089774/

相关文章:

sql - 按开始时间和结束时间聚合计划数据

c# - 在 Visual Studio 2015 中观看图标和项目

c# - ASP.NET Web Api - Startup.cs 不存在

.net - SoapUI/WCF 自托管 Web 服务/和 Fiddler

c# - JIT 拒绝内联微型方法

sql - Sql Server 和 MySQL 中的存储过程和触发器是否相同?

javascript - ScriptManager.RegisterStartupScript() 方法不起作用 - ASP.NET、C#

c# - 如何自定义实现asp.net身份的UpdateAsync方法?

c# - 我如何反转链表

xml - 将 varbinary(max) 转换为 xml 格式