JDBC调用返回结果集的存储过程
2008-01-21 21:56
274 查看
在Java学习中,或者Java开发过程中我们有时候需要用到用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());
}
}
本文出自:http://ww.javabiz.cn 的维客文档库
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());
}
}
本文出自:http://ww.javabiz.cn 的维客文档库
相关文章推荐
- 在JDBC中调用SQL Server中的存储过程时出现异常:该语句没有返回结果集。
- JDBC调用返回结果集的存储过程
- jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- (转)jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- jdbc 调用 sql server 的存储过程时“该语句没有返回结果集”的解决方法
- Oracle存储过程中执行查询返回的结果集,并使用java代码调用【转】
- 返回结果集的存储过程 及调用sys_refcursor--结果集
- Mybatis中调用返回结果集的存储过程
- ThinkPHP调用存储过程不能返回结果集的解决方案
- 快逸报表调用oralce的存储过程(查询临时表,有返回结果集)
- IQ存储过程中执行有结果集返回的动态SQL的调用方法
- 返回结果集的存储过程实例及调用
- Java调用存储过程二(返回一行或多行结果集)
- php调用mysql存储过程返回结果集的处理
- php调用mysql存储过程返回结果集的处理
- jdbc中调用oracle 返回游标类型的存储过程
- SQLServer和ORACLE 存储过程的调用(返回结果集)
- Oracle 存储过程调用 返回结果集 实现分页
- spring jdbctemplate或jdbc调用返回游标或复杂数据类型的存储过程