您的位置:首页 > 编程语言 > Java开发

java调用存储过程和函数

2011-01-24 14:01 555 查看
public class TestProcedure {
/**
* log:记载TestProcedure.class所产生的日志。
*/
public TestProcedure() {
//default-constructor
}
/**
* mainTODO(这里用一句话描述这个方法的作用)。<br/>
* (这里描述这个方法适用条件 – 可选)<br/>
* @since  1.0
* @param args
*/
public static void main(String[] args) {
//default-constructor
String dbURL = "jdbc:oracle:thin:@127.0.0.1:1521:test";
String user = "yl";
String pwd = "yanglei";
Connection conn = null;
CallableStatement cstmt = null;
ResultSet rs = null;
try{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
conn = DriverManager.getConnection(dbURL, user, pwd);

//调用存储过程
/*cstmt = conn.prepareCall("{call DotNet.DotNetPagination(?,?,?,?,?)}");
cstmt.registerOutParameter(4,OracleTypes.NUMBER);
cstmt.registerOutParameter(5,OracleTypes.CURSOR);
cstmt.setInt(1, 1);
cstmt.setString(2, "select * from custom");
cstmt.setInt(3, 3);
cstmt.execute();
System.out.println(cstmt.getInt(4));
rs = ((OracleCallableStatement)cstmt).getCursor(5);

while(rs.next()){
System.out.println("*************************************************");
System.out.println(rs.getString(1)+"--"+rs.getString("NAME"));
}
*/

//调用函数
cstmt = conn.prepareCall("{? = call DotNet.getBank(?)}");
cstmt.registerOutParameter(1,Types.VARCHAR);
cstmt.setString(2,"0230000931");
cstmt.execute();
System.out.println(cstmt.getString(1));

}catch(Exception e){
e.printStackTrace();
}finally{
if(cstmt != null && conn != null){
try {
cstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}

}
}


函数带一个返回值,一个参数!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: