技术开发 频道

JDBC调用返回结果集的存储过程

  【IT168 技术文档】开发中我们有时候需要用到用JDBC直接调用一个返回结果集的存储过程,这个问题并不常见,但是却不是太好处理,因为我们一般对存储过程的调用,通常是为了调用一个批量处理的单元结构,并不期望其返回给我们什么值。下面使用一个小示例演示一下如何调用返回结果集的存储过程:

  public TestProcedureResultSet()   {   try {   DriverManager.registerDriver (new oracle.jdbc.OracleDriver());   Connection conn = DriverManager.getConnection("jdbc:oracle:thin:
@192.168.0.254:1521:oracle9i", "system", "oracle9i");   CallableStatement stmt = conn.prepareCall("BEGIN GetRS(?); END;");   stmt.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.CURSOR);
//传出游标引用 stmt.execute();   ResultSet rs = ((OracleCallableStatement)stmt).getCursor(1);   while (rs.next()) {   System.out.println(rs.getString("COUNTRY") + ":" + rs.getString("PNO"));   }   rs.close();   rs = null;   stmt.close();   stmt = null;   conn.close();   conn = null;   }   catch (SQLException e) {   System.out.println(e.getLocalizedMessage());   }   }
0
相关文章