1、问题描述:
数据库查询成功:OracleDataReader reader = command.ExecuteReader();
在获取数据:reader.GetDouble(5); 时
返回异常:“System.InvalidOperationException: 没有数据可用于行或列。”
2、原因分析:
查询出的数据中,对应列项数据为空,即null,因此GetDouble函数抛出此异常。
3、解决办法:
将reader.GetDouble(5); 改为 reader.IsDBNull(5) ? 0 : reader.GetDouble(5);
4、总结:
获取其他类型数据时也有出现同样异常的可能,因此对数据是否为空的判断很有必要