在java程序中调用存储过程的时候,存储过程返回结果有两个,1个是游标,另一个是一个oResult Out Varchar2 。我在java程序中是这样调用的。
// 返回结果
stat.registerOutParameter(6, oracle.jdbc.OracleTypes.CURSOR);
stat.registerOutParameter(7, oracle.jdbc.OracleTypes.VARCHAR);
stat.execute();
System.out.println("=======come aaaaaaaa=========");
result = (ResultSet) stat.getObject(6); System.out.println("=======come bbbbbbbb=========");
while(result.next()){
//数据库返回的游标中的值
flowId = result.getString(1);//流水号
payType = result.getString(2);//支付方式
real_Pay_Value = result.getString(3);//实际充值金额
handling_Charge = result.getString(4);//手续费
check_Day = result.getString(5);//对账日
error_Code = result.getString(6);//支付结果
error_Description = result.getString(7);//错误描述
phone = result.getString(8);//手机号
}
result.close();
当执行到红色部分的时候就报错了,不知道为什么啊,谁能帮我解答一下啊。。。。谢谢了,没分了。
------解决方案--------------------
你是不是在存储过程中把游标关闭了?尝试不要关闭。