Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.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
C# 无法将DBNull.Value强制转换为类型';System.DateTime';。请使用可为空的类型_C#_Sql_.net_Sql Server 2008 R2 - Fatal编程技术网

C# 无法将DBNull.Value强制转换为类型';System.DateTime';。请使用可为空的类型

C# 无法将DBNull.Value强制转换为类型';System.DateTime';。请使用可为空的类型,c#,sql,.net,sql-server-2008-r2,C#,Sql,.net,Sql Server 2008 R2,这是我的密码 var finalResults = (from r in results.AsEnumerable() where r.Field<DateTime>("PrintTime") is DBNull var finalResults=(来自results.AsEnumerable()中的r) 其中r.Field(“PrintTime”)为DBNull 其中,PrintTime是我的Sql Server 2008 r2数据库中的

这是我的密码

var finalResults = (from r in results.AsEnumerable()
                    where r.Field<DateTime>("PrintTime") is DBNull
var finalResults=(来自results.AsEnumerable()中的r)
其中r.Field(“PrintTime”)为DBNull
其中,
PrintTime
是我的
Sql Server 2008 r2
数据库中的一列,其类型为
datetime
,并且可为null

我得到了一个例外:

无法将DBNull.Value强制转换为“System.DateTime”类型。请使用 可空类型

您能帮忙吗?

支持可空类型,所以请使用
DateTime?
而不是
DateTime

var finalResults = from r in results.AsEnumerable()
                   let printTime = r.Field<DateTime?>("PrintTime")
                   where !printTime.HasValue
                   select r;
var finalResults=来自结果中的r.AsEnumerable()
让printTime=r.Field(“printTime”)
其中!printTime.HasValue
选择r;

错误消息似乎不言自明。
DateTime
是一个
struct
使其不可为空。
DateTime?
nullable
是一个使其可为空的包装器。请计算一下。@Servy我已经尝试了DBnull.value,并且遇到了同样的问题,您需要使用
nullable
DateTime进行强制转换吗
,然后将其与
null
@MarcoDinatsoli进行比较。MarcoDinatsoli没有按照错误消息的要求执行操作。它非常明确地说明了您需要执行的操作。与往常一样,datatable问题中最好的一个问题是:当系统允许时,P+1将接受。请检查我的新问题。我感谢您的帮助和支持