如何设置datetime变量为空
本文关键字:datetime 变量 设置 何设置 | 更新日期: 2023-09-27 18:14:41
我有2个文本框和应用时间选择器。在这里,我离开文本框为空,即不给出任何日期和发送到数据库作为fromdate和todate参数。在sql storedprocedure中,如果Fromdate和todate为空,则执行一个操作。为了完成这个任务,我取了两个变量
DateTime fromdate;
DateTime todate;
并在codebehind中声明为Datetime。
fromdate = Convert.ToDateTime(txtfromdate.Text);
todate = Convert.ToDateTime(txttodate.Text);
当我发送到db
fromdate = Convert.ToDateTime(txtfromdate.Text);
todate = Convert.ToDateTime(txttodate.Text);
出现错误。甲酸例外。是否可以将null应用于日期时间变量?
是的,使用Nullable<DateTime>
:
DateTime? fromDate = null;
要回答您评论中的问题,以下是您如何返回Nullable<DateTime>
(通过创建扩展方法):
public static class DateTimeExtensions
{
public static DateTime? ToNullableDateTime(this string val)
{
DateTime temp;
return DateTime.TryParse(val, out temp) ? (DateTime?) temp : null
}
}
并使用:
DateTime? fromDate = txtfromdate.Text.ToNullableDateTime();
可以使用
DateTime? Fromdate=null
"DateTime?"类型允许您将其用作null,但它是一个值类型结构体。