如何使用 C# 将 DateTime 或 DbNull 发送到数据库?

发布于 2024-07-29 01:13:05 字数 176 浏览 0 评论 0原文

我有一个带有文本框的 Web 表单 (.aspx)。 我的用户可以在文本框中输入一个值作为波斯日期。 我应该做的是将 texbox.text 转换为 DateTime。 但有时,文本框内没有文本,所以我应该处理它并返回 null。

当我返回 null 时,如何将 null (c#) 插入到数据库中?

I have a web form (.aspx) that has a textbox.
My user can enter a value into the textbox as a persian date.
what should I do is converting texbox.text into DateTime.
But sometimes,the textbox has no text within it and so I should take care of it and return null.

when I return null how can I insert null (c#) into DB?

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

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

发布评论

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

评论(1

剪不断理还乱 2024-08-05 01:13:05

这完全取决于您如何手动访问数据?

如果是这样; 有两种传递 null DateTime 的常见方法; 最初是使用 DateTime.MinValue 来表示 null; 第二种是使用 Nullable (又名 DateTime?)来传递日期。 然后在 DAL 中检测到这一点并切换到 DBNull.Value

if(someDate == DateTime.MinValue) { // or "== null" for Nullable<DateTime>
    dateParam.Value = DBNull.Value;
} else {
    dateParm.Value = someDate;
}

使用 LINQ-to-SQL,Nullable 方法应该“正常工作”。

It all depend on how you are doing your data access.. by hand?

If so; there are two common ways of passing a null DateTime around; the original was to use DateTime.MinValue to mean null; the second is to use Nullable<DateTime> (aka DateTime?) to pass the date around. Then in your DAL you detect this and switch to DBNull.Value:

if(someDate == DateTime.MinValue) { // or "== null" for Nullable<DateTime>
    dateParam.Value = DBNull.Value;
} else {
    dateParm.Value = someDate;
}

With LINQ-to-SQL, the Nullable<DateTime> approach should "just work".

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