日期:2014-05-20  浏览次数:20961 次

(没分了,只能到这里问了)java.sql.SQLException: Cursor is closed.
在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(); 

当执行到红色部分的时候就报错了,不知道为什么啊,谁能帮我解答一下啊。。。。谢谢了,没分了。

------解决方案--------------------
你是不是在存储过程中把游标关闭了?尝试不要关闭。