这是从数据库中读取datetime类型,用三元运算符该如何表示?我是这样写的,可是却报错了,求教!
member.DateBeg = sdr["DateBeg"] == null ?00-00-00 00:00:00 : Convert.ToDateTime(sdr["DateBeg"]);datetime

解决方案 »

  1.   

    member.DateBeg = sdr["DateBeg"] ==   DBNull.Value ?DateTime.MinValue : Convert.ToDateTime(sdr["DateBeg"].ToString().Trim());
      

  2.   

    如LS 数据库中的null是DBNull
      

  3.   

    member.DateBeg = sdr["DateBeg"] == null ?00-00-00 00:00:00 : Convert.ToDateTime(sdr["DateBeg"]);
    ↓↓
    member.DateBeg = Convert.ToDateTime( sdr["DateBeg"] is DBNull ? "1999-01-01 00:00:00" : sdr["DateBeg"]);①数据库中是 DBNull② 最小日期 不能是 00-00-00 00:00:00
      

  4.   

    改成如下 也可以:
     member.DateBeg = sdr["DateBeg"] is DBNull ? DateTime.MinValue : Convert.ToDateTime(sdr["DateBeg"]);
      

  5.   

    member.DateBeg = sdr["DateBeg"] == DBNull.Value ?"1753-1-1 00:00:00": Convert.ToDateTime(sdr["DateBeg"]); 这种赋值方法不太好,最好的结果是先判断值是不是为空,为空就不赋值.if(sdr["DateBeg"] != DBNull.Value)
    {
    member.DateBeg =Convert.ToDateTime(sdr["DateBeg"]); 
    }