java调用Oracle存储过程时,处理cursor类型的方法
1、取得存储过程返回的值
CallableStatement cs = conn.prepareCall(
"{call proc_fbquery(?,?,?)}"); //调用存储过程
cs.setString(1,mem);
cs.setInt(2,n);
cs.registerOutParameter(3,oracle.jdbc.OracleTypes.CURSOR);
cs.execute();
rs=(ResultSet)cs.getObject(3);
2、对存储过程赋值时:
CallableStatement cs= conn.prepareCall("{call proc_fbquery(?)}"); //调用存储过程
cs.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);
cs.setCursorName(cusorName); //提供result的名称
cs.setString(1,rs);
rs=cs.executeQuery();
rs =(ResultSet)cs.getObject(1);
CallableStatement cs = conn.prepareCall(
"{call proc_fbquery(?,?,?)}"); //调用存储过程
cs.setString(1,mem);
cs.setInt(2,n);
cs.registerOutParameter(3,oracle.jdbc.OracleTypes.CURSOR);
cs.execute();
rs=(ResultSet)cs.getObject(3);
2、对存储过程赋值时:
CallableStatement cs= conn.prepareCall("{call proc_fbquery(?)}"); //调用存储过程
cs.registerOutParameter(1,oracle.jdbc.OracleTypes.CURSOR);
cs.setCursorName(cusorName); //提供result的名称
cs.setString(1,rs);
rs=cs.executeQuery();
rs =(ResultSet)cs.getObject(1);