解决“数据为空。不能对空值调用此方法或属性。”

      这2天遇到了这个问题。百度了一下才知道是经典问题。答案是“因此建议作NULL处理”。于是在存储过程将DateTime默认为“null”,Nvarchar默认为‘ ’。但是这样子还是无读取DateTime字段.

      有建议按以下方法将DateTime读取出来:

Code

      读取:

   user.Brithday = StrHelper.GetValue(dr["Brithday"]);

 

      但是这样子读出来的是String类型。在页面又要一堆处理。纠缠半天,决定还是使用DateTime类型的变量。
 于是改下刚才的方法:

Code

 
在页面的处理

Code


      这样暂时解决的我的问题,我知道这样子无法彻底解决问题。

      在《PopForums8.0》找到比较彻底解决的方法:
工具类:

Code


实体:

Code

 

数据层:

Select:

UserInfo user = new UserInfo();
//
user.Brithday = SQLHelper.NullDateTimeDBHelper(dr, 3);


update:

Code

 

页面:

Code

 

posted @ 2009-04-14 18:58  苍苔  阅读(5460)  评论(3编辑  收藏  举报