您的位置:首页 > 数据库 > Oracle

java调用oracle存储过程,返回结果集

2015-07-21 14:49 471 查看
package com.srie.db.pro;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;

public class CallPro {

public static void main(String[] args) {
Connection conn = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
String url = "jdbc:oracle:thin:@aaa";
String user = "a";
String password = "a";
conn = DriverManager.getConnection(url, user, password);

String sql = "{call pro_getchart(?)}";
CallableStatement statement = conn.prepareCall(sql);
statement.registerOutParameter(1, oracle.jdbc.OracleTypes.CURSOR);
statement.execute();
ResultSet rs = null;
// 方法1:
//rs = ((oracle.jdbc.OracleCallableStatement) statement).getCursor(1);
// 方法2:
rs = (ResultSet) statement.getObject(1);
while (rs.next()) {
System.out.println(rs.getString(1));
}
conn.close();
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (conn != null && !conn.isClosed()) {
conn.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
}

}


方法1:
http://www.2cto.com/kf/201109/105741.html
方法2:
http://www.cnblogs.com/icerainsoft/archive/2011/08/24/2152381.html
未验证内容:
http://blog.csdn.net/baykermr/article/details/4664268
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: