在数据库中,有一个字段可以保存关闭日期。仅当案例已关闭时,此日期才可以为NOT NULL。如果案例未关闭,则必须为NULL。如何将null值传递给DateTime对象?
试过这个,但它不起作用。
DateTime closure= dateDatumIspisa.SelectedDate ?? null;
DateTime closure= dateDatumIspisa.SelectedDate ?? DateTime.Parse("");
DateTime closure= dateDatumIspisa.SelectedDate ?? DBNull.Value;
DateTime closure= dateDatumIspisa.SelectedDate ?? DateTime.Parse(DBNull.Value.ToString());
还尝试了GetValueOrDefault(),但它插入了DateTime.Min值,而我需要将此字段留空。
有什么建议吗?
答案 0 :(得分:3)
只需将closure
设为DateTime?
而不是DateTime
。 Nullable<T>
的重点是从不可为空的类型中创建可以为空的类型。
现在,您尚未显示SelectedDate
的类型 - 但如果它已经是DateTime?
,那么您根本不需要使用??
。只是:
DateTime? closure= dateDatumIspisa.SelectedDate;
您对可空值类型的熟悉程度如何?您可能想要阅读MSDN coverage of them。
答案 1 :(得分:1)
声明
DateTime ? closure = dateDatumIspisa.SelectedDate;
这里不需要使用?? !