java中取得Oracle存储过程输出参数中的值
2011-12-02 16:31
225 查看
import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class OracleProcedureWithRetVal {
/**
* Oracle带有输出参数的存储过程
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection con = null;
CallableStatement cs = null;
try {
//得到连接
con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
//创建CallableStatement对象
cs = con.prepareCall("{call fly_pro5(?,?)}");
//对参数赋值
cs.setInt(1, 7369);
cs.registerOutParameter(2,oracle.jdbc.OracleTypes.VARCHAR);
//执行存储过程调用
cs.execute();
String ename = cs.getString(2);
System.out.println("7369的姓名是" + ename);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
//关闭资源
try {
cs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class OracleProcedureWithRetVal {
/**
* Oracle带有输出参数的存储过程
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
//加载驱动
Class.forName("oracle.jdbc.driver.OracleDriver");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection con = null;
CallableStatement cs = null;
try {
//得到连接
con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");
//创建CallableStatement对象
cs = con.prepareCall("{call fly_pro5(?,?)}");
//对参数赋值
cs.setInt(1, 7369);
cs.registerOutParameter(2,oracle.jdbc.OracleTypes.VARCHAR);
//执行存储过程调用
cs.execute();
String ename = cs.getString(2);
System.out.println("7369的姓名是" + ename);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
//关闭资源
try {
cs.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
相关文章推荐
- java 调用Oracle存储过程(输入参数,输出参数,游标)的使用!
- c++与java区别的理解(二)--处理参数顺序和输出编译顺序
- 存储过程的输出参数为游标,PL/SQL中如何调用 Java代码如何调用
- Oracle存储过程 输出参数赋值异常:“Oracle.DataAccess.Types.OracleString”的类型初始值设定项引发异常。
- oracle pl/sql之在java中调用带有输入输出参数的oracle存储过程
- java里日期输出与参数索引的应用
- Java调用SQL存储过程 输入输出参数(转)
- 用java.lang.Math.random()语句,随机输出{size:自定义参数}个数不重复并且按顺序从小到大排列(冒泡排序)
- [Jweb] Servlet 如何从上一个页面取得参数. ShowParameters.java
- Oracle存储过程编写(带输出参数)
- 在存储过程中取得刚刚插入的记录的某个字段,将其输出,由C#接受OUTPUT返回参数
- Java 中如何实现(类似于C#中的OUT)的输出类型参数
- Oracle存储过程编写(带输出参数)
- Oracle集合类型输出参数的PL/SQL存储过程及其Java调用
- JAVA调用存储过程输出参数为游标
- java根据方法名称取得反射方法的参数类型示例
- JAVA--定义一个包含整型数组参数的方法,用来接收成绩数组,进行成绩排序并输出前三名
- [Jweb] Servlet 如何从上一个页面取得参数. ShowParameters.java
- Oracle存储过程编写(带输出参数)
- Java调用oracle存储过程输出自定义对象或二维表