jdbc调用带游标返回的存储过程,返回为空怎么判断(SQL当中带sum())
具体代码如下,由于最终返回的结果集当中每列都是sum()
具体语句结果为下
select sum(a),sum(b),sum(c) from
(select sum(),sum(),sum() from B where xxxxxx);
子查询当中没有结果集,但是外层的汇总对还是会有一条记录,记录当中的所有记录都是空.
用resultset的next()判断还是会有记录。用rs.get.....方法的时候会有空指针异常
有什么什么比较好的方法吗,除了手动去判断是否为空。
CallableStatement call = conn.prepareCall("{call VF_P_QUREY_PRO.vf_qurey_pro_sum(?,?,?,?)}");
//分别对应机构ID,起始日期,终止日期,返回游标。
call.setString(1,organId);
call.setString(2,beginDate);
call.setString(3,endDate);
call.registerOutParameter(4, OracleTypes.CURSOR);
call.registerOutParameter(4, OracleTypes.CURSOR);
call.execute();//查询结果集是否为空 true:表示有结果集,false:无结果集
ResultSet rs = (ResultSet)call.getObject(4);
while(rs.next()){
System.out.print(rs.getBigDecimal(1)+" ");
}