2

我有一个 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 为空,这很好,但是当我尝试将其存储在班级的 DueDate 字段中时,出现以下错误:

 "Object cannot be cast from DBNull to other types"

如何修复此错误?谢谢

4

3 回答 3

6

看一眼DataRow.IsNull

DueDate = dr.IsNull("DueDate")? (DateTime?)null : (DateTime?)dr["DueDate"]
于 2012-05-25T18:00:44.710 回答
4
DueDate = dr["DueDate"] == DBNull.Value ? (DateTime?) null : Convert.ToDateTime(dr["DueDate"]);
于 2012-05-25T18:01:56.703 回答
-2

您可以删除多余的演员表 (DateTime?)null ,只需写 null :

DueDate = dr.IsNull("DueDate")? null : (DateTime?)dr["DueDate"]

于 2014-06-16T11:44:55.727 回答