2013-05-09 69 views
0

在值为null的阅读器中强制转换日期时间时出现问题。SQLDataReader对datetime为空

form._date101 = reader[52] == DBNull.Value ? DBNull.Value : (DateTime?)reader[52]; 

得到:“System.DateTime的”不能确定条件表达式的类型,因为有“System.DBNull”之间的隐式转换

有什么想法?

+0

如果你将它分成两行,你可能会拆开自己 – 2013-05-09 19:50:07

+0

这两个表达式它可以被返回,必须是相同的类型。你的第一种可能性是返回一个DBNull类型,而下一个返回一个DateTime类型。 – Jasmine 2013-05-09 20:13:46

回答

6

怀疑你的意思是:

form._date101 = reader[52] == DBNull.Value ? null : (DateTime?)reader[52]; 

这是假设_date101DateTime?类型的字段。我希望你想说:“如果数据库中的值为null,则使用DateTime?的空值;否则使用非空值