从datareader返回datetime字段时出现无效的强制转换错误消息

时间:2014-01-10 17:40:39

标签: c#

我在像这样的模型中声明了一个属性

public DateTime DelDate { get; set; }

我正在从数据库中读取日期时间字段并存储 DelDate

DelDate = reader.GetDateTime(reader.Getordinal("delivdate"))

我一直收到

下面的错误消息

“指定的演员表无效”

关于如何解决此问题的任何想法?

1 个答案:

答案 0 :(得分:1)

检查您的列值是否为null值,样本:

int delivDateIndex = reader.GetOrdinal("delivdate");

DelDate = reader.IsDBNull(delivDateIndex) ? 
                          DateTime.Now : // a default value
                          reader.GetDateTime(delivDateIndex); // original value

如果列接受null,请将模型更改为DateTime?并尝试:

DelDate = reader[reader.GetOrdinal("delivdate")] as DateTime?;