更新SQL数据库中的条目时.NET中的DateTime.MinValue
我在使用更新SQL数据库中的条目时.NET中的DateTime.MinValue,sql,.net,sql-server,Sql,.net,Sql Server,我在使用null值处理DateTime变量时遇到问题 在一节课上,我有: public Nullable<System.DateTime> BookingDate { get; set; } 但是,一旦上载了一个带有空日期预订列的文件,我将收到以下错误: 更新条目时出错。有关详细信息,请参见内部异常 我知道这与SQL Server中的最小值(1/1/1753 12:00:00 AM)和.NET中的最小值(1/1/0001 12:00:00 AM)有关。如何更改此部分: else {
null
值处理DateTime
变量时遇到问题
在一节课上,我有:
public Nullable<System.DateTime> BookingDate { get; set; }
但是,一旦上载了一个带有空日期预订列的文件,我将收到以下错误:
更新条目时出错。有关详细信息,请参见内部异常
我知道这与SQL Server中的最小值(1/1/1753 12:00:00 AM
)和.NET中的最小值(1/1/0001 12:00:00 AM
)有关。如何更改此部分:
else
{
bookingDate = System.DateTime.MinValue;
}
为了能够上传带有空BookingDate
?的文件,当日期等于DateTime.MinValue
时,您可以将DBNull.Value
写入数据库,如果您使用的是SQL Server 2008或更高版本,我建议使用(a)如果您只需要日期部分(无时间),则使用date
数据类型,或者(b)使用DATETIME2
(如果您同时需要日期和时间),因为该数据类型没有这些问题(最小日期=1753-01-01)anymore@Andomar我试过这个,但它不起作用。它说:“不能隐式地将类型‘System.DBNull’转换为‘System.DateTime’@marlowe31:是的,您必须将其作为对象
,而不是日期时间
。也许可以将写入数据库的代码部分添加到您的问题中。@marc_的第一件事,是的,我需要时间部分。第二件事,当我将变量属性更改为DateTime2时,VisualStudio无法识别这一点。
else
{
bookingDate = System.DateTime.MinValue;
}