JDBC调用存储过程并返回游标

这几天有时间,多写几篇博客.
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
   String url="jdbc:oracle:thin:zlgl/[email protected]:1521:zlgl";
   Connection con= DriverManager.getConnection(url);
   //调用存储过程预处理
   CallableStatement cs=con.prepareCall("call pk_zlgl.p_OnTimeCopyDao_CBFS(?,?,?)");
   //传入入口参数
   cs.setString(1,"010501");
   cs.setString(2,"2007-12-31");
   //注册返回参数
   cs.registerOutParameter(3,oracle.jdbc.OracleTypes.CURSOR);
   cs.execute();
   //获取返回游标,返回类型为ResultSet
   ResultSet rs = (ResultSet)cs.getObject(3);
   while(rs.next())
    System.out.println(rs.getString(1));
   //获取元数据
   ResultSetMetaData rsmd=rs.getMetaData();
   System.out.println(rsmd.getColumnCount());
   rs.close();
   cs.close();
   con.close();

包含的JAR:Ojdbc14.jar

你可能感兴趣的:(JDBC调用存储过程并返回游标)