如何将 null 作为 DateTime 值传递?

发布于 2024-08-26 12:43:21 字数 505 浏览 2 评论 0原文

在数据库中,有一个字段保存关闭日期。仅当案件已结案时,此日期才能为 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 值,而我需要将此字段留空。

有什么建议吗?

In a database, there is a field that saves a closure date. This date can be NOT NULL only if the case has been closed. If the case is not closed, it has to be NULL. How can I pass null value to a DateTime object?

Tried this but it doesn't work.

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());

Also tried GetValueOrDefault() but it inserts DateTime.Min value, while I need this field left empty.

Any suggestions?

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

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

发布评论

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

评论(2

梦醒灬来后我 2024-09-02 12:43:21

只需将 closure 设为 DateTime? 而不是 DateTime 即可。 Nullable 的全部要点是从不可为空的类型创建可空的类型。

现在,您还没有显示 SelectedDate 的类型 - 但如果它已经是 DateTime? 那么您不需要使用 ??根本不。 Just:

DateTime? closure= dateDatumIspisa.SelectedDate;

您对可空值类型的熟悉程度如何?您可能需要阅读MSDN 的相关报道

Just make closure a DateTime? instead of a DateTime. The whole point of Nullable<T> is to make a nullable type from a non-nullable one.

Now, you haven't shown the type of SelectedDate - but if it's already a DateTime? then you don't need to use ?? at all. Just:

DateTime? closure= dateDatumIspisa.SelectedDate;

How familiar are you with nullable value types in general? You might want to read up on the MSDN coverage of them.

百善笑为先 2024-09-02 12:43:21

声明

DateTime ? closure = dateDatumIspisa.SelectedDate;

不需要在此行中使用 ??

Declare

DateTime ? closure = dateDatumIspisa.SelectedDate;

no need here to use the ?? in this line !

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