解决“数据为空。不能对空值调用此方法或属性。”
这2天遇到了这个问题。百度了一下才知道是经典问题。答案是“因此建议作NULL处理”。于是在存储过程将DateTime默认为“null”,Nvarchar默认为‘ ’。但是这样子还是无读取DateTime字段.
有建议按以下方法将DateTime读取出来:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
读取:
user.Brithday = StrHelper.GetValue(dr["Brithday"]);
但是这样子读出来的是String类型。在页面又要一堆处理。纠缠半天,决定还是使用DateTime类型的变量。
于是改下刚才的方法:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
在页面的处理
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
这样暂时解决的我的问题,我知道这样子无法彻底解决问题。
在《PopForums8.0》找到比较彻底解决的方法:
工具类:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
实体:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
数据层:
Select:
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
![](https://www.cnblogs.com/Images/OutliningIndicators/None.gif)
update:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
页面:
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
作者:苍苔
出处:http://www.cnblogs.com/WindWing/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。