Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更新SQL数据库中的条目时.NET中的DateTime.MinValue_Sql_.net_Sql Server - Fatal编程技术网

更新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;
}