我有一个MVC3应用程序。我调用数据库,在数据集中获取数据并将其存储在我的类中。下面是如何从数据集中存储我的数据
var dt = ds.Tables[0];
var i = 0;
foreach (DataRow dr in dt.Rows)
{
wt = new WorkTasksDto
{
Notes = dr["Notes"].ToString(),
DueDate = Convert.ToDateTime(dr["DueDate"])
}
这是我的班级成员:
[DataMember]
public DateTime? DueDate
{ get; set; }
从sql server返回的字段DueDate为null,这很好但是当我尝试将它存储在我的类中的DueDate字段时,我收到以下错误:
"Object cannot be cast from DBNull to other types"
如何修复此错误?感谢
答案 0 :(得分:6)
查看DataRow.IsNull
DueDate = dr.IsNull("DueDate")? (DateTime?)null : (DateTime?)dr["DueDate"]
答案 1 :(得分:4)
DueDate = dr["DueDate"] == DBNull.Value ? (DateTime?) null : Convert.ToDateTime(dr["DueDate"]);
答案 2 :(得分:-2)
你可以删除多余的强制转换(DateTime?)null,只需写入null:
DueDate = dr.IsNull(" DueDate")? null:(DateTime?)dr [" DueDate"]