数据库里的时间类型存里了个空值,在数据访问层用sqlDataReader对象读取封装到实体类的时候,实体类中定义也是时间类型,但时间类型又不能为空值!封装不了!怎么解决?还请前辈赐教。

解决方案 »

  1.   

    1. sql语句中对有可能出现空的字段用IsNull处理一下
    2.  在代码中作非空判断:
      if(reader["time"]==DbType.Null)
      付一默认值
      

  2.   

    语句取值时用 isnull(col,getdate()),可以把getdate()替换成你认为适合的时间值
      

  3.   


    如能使用可空类型使用 不能使用则DbType.Null
      

  4.   

    给它弄个默认值吧,就是当前时间GETDATE()
      

  5.   

    时间类型可以为空啊你定义的时候使用public DateTime? pDate{get;set;}