假如在DAL层中有这样的代码:
House house = new House(HouseId);
SqlDataReader reader = ...........house.ExpiredDate = Convert.ToDateTime(reader["ExpiredDate"]);那么因为reader["ExpiredDate"]为dbnull, 或者ExpiredDate干脆就不是日期型的,比如在数据库端错误的设置为字符串型的。 所以在执行Convert.ToDateTime(reader["ExpiredDate"])这里就会出错。 那么BLL层只有捕获到这个错误,进而展现给UI层吗
House house = new House(HouseId);
SqlDataReader reader = ...........house.ExpiredDate = Convert.ToDateTime(reader["ExpiredDate"]);那么因为reader["ExpiredDate"]为dbnull, 或者ExpiredDate干脆就不是日期型的,比如在数据库端错误的设置为字符串型的。 所以在执行Convert.ToDateTime(reader["ExpiredDate"])这里就会出错。 那么BLL层只有捕获到这个错误,进而展现给UI层吗
解决方案 »
- NET如何做到后台验证失败提示表单不刷新
- Page_Load执行二次,奇怪得很!
- 图片操作(生成小图类)
- datagrid模板列绑定的数据 怎么让鼠标移动到datagrid行上背景色改变
- 还是软件加密问题
- 如何在文本框输入一个数字,在另一个文本框立刻显示输入内容?
- 通用考勤如何做,基本上适应市面上常用的考勤机?
- 连接数据使用视图?
- treeview里如何指定某个节点被选中状态,页就是说背景和其它节点有差异
- vs2015 发布时的速度慢,
- .net 操作Oracle 存储过程 OracleParameterCollection 只接受非空的 OracleParameter 类型对象。
- js在火狐中不起作用问题!请高手指点一二。
你在这里取的值,当然是取值之前判断下了
public static DateTime GetDateTime(object obj)
{
return obj == null || obj == DBNull.Value ? new DateTime() : Convert.ToDateTime(obj);
}
DateTime dt = GetDateTime(reader["ExpiredDate"]);判断dt
在 DAL层 read的时候 进行判断 ,不为空 再 read