📄 call_oracle_package_function_refcursor.java~50~
字号:
package java_call_oracle_package;
import java.sql.*;
import oracle.jdbc.OracleTypes;
import oracle.jdbc.OracleCallableStatement;
public class Call_Oracle_Package_Function_RefCursor {
private Connection conn = null;
private CallableStatement stmt = null;
public Call_Oracle_Package_Function_RefCursor() {
try {
conn = GetConn.getConn();
stmt = conn.prepareCall("{?=call myPack.QueryStuInfor(?,?,?)}");
//因为第一个是返回值 好比存储过程的out 所以要注册
stmt.registerOutParameter(1, OracleTypes.CURSOR);
stmt.setString(2, "WuHan");
stmt.setString(3, "C#");
stmt.setInt(4, 70);
stmt.execute();
ResultSet rs = ((OracleCallableStatement) stmt).getCursor(1);
while (rs.next()) {
String str1 = rs.getString(1);
String str2 = rs.getString(2);
String str3 = rs.getString(3);
String str4 = rs.getString(4);
String str5 = rs.getString(5);
System.out.println(str1 + " " + str2 + " " + str3 + " " +
str4 + " " + str5);
}
} catch (Exception e) {
System.out.println(e.getMessage().toString());
} finally {
safeClose();
}
}
public void safeClose() {
try {
if (conn != null) {
conn.close();
} else if (stmt != null) {
stmt.close();
}
} catch (Exception e) {}
}
public static void main(String[] args) {
new Call_Oracle_Package_Function_RefCursor();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -