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サーバーから返されるフィールドDueDateはnullで問題ありませんが、クラスの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 に答える