当前位置: 技术问答>java相关
100分,急用.我在java里怎么调用ORACLE8i的存储过程?分不够再给!
来源: 互联网 发布时间:2015-07-05
本文导语: 这个存储过程的作用相当 Statement.addBatch(String sql) Statement.executeBatch() 我能把sql语句通过String对象传给存储过程. 我的油箱:eckal@163.com | java.sql.Connection conn = null; java.sql.CallableStatement callSt...
这个存储过程的作用相当
Statement.addBatch(String sql)
Statement.executeBatch()
我能把sql语句通过String对象传给存储过程.
我的油箱:eckal@163.com
Statement.addBatch(String sql)
Statement.executeBatch()
我能把sql语句通过String对象传给存储过程.
我的油箱:eckal@163.com
|
java.sql.Connection conn = null;
java.sql.CallableStatement callStmt = null;
try{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection(url,user,password);
//? url
//url1:jdbc:oracle:thin:@host:1521:database
//url2:jdbc:oracle:oci8:@database
String strSql = ="{call 存储过程的名字(?,?,?,?,?,?,?,?,?,?,?,?,?)}"
//例:String strSql = "{call SPTAAAA00(?,?,?,?,?,?,?,?,?,?,?,?,?)}";
callStmt = conn.prepareCall(strSql);
//regiest input value
String strPra1 = "'000000001'";
String strPra2 = "700000";
String strPra3 = "1";
callStmt.setString(1,strPra1);
callStmt.setString(2,strPra2);
callStmt.setString(3,strPra3);
//end regiest input value
//regiest output value
callStmt.registerOutParameter(4,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(5,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(6,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(7,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(8,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(9,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(10,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(11,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(12,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(13,java.sql.Types.VARCHAR);
//end regiest input value
callStmt.executeUpdate();
for(int x=4;x
java.sql.CallableStatement callStmt = null;
try{
DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
conn = DriverManager.getConnection(url,user,password);
//? url
//url1:jdbc:oracle:thin:@host:1521:database
//url2:jdbc:oracle:oci8:@database
String strSql = ="{call 存储过程的名字(?,?,?,?,?,?,?,?,?,?,?,?,?)}"
//例:String strSql = "{call SPTAAAA00(?,?,?,?,?,?,?,?,?,?,?,?,?)}";
callStmt = conn.prepareCall(strSql);
//regiest input value
String strPra1 = "'000000001'";
String strPra2 = "700000";
String strPra3 = "1";
callStmt.setString(1,strPra1);
callStmt.setString(2,strPra2);
callStmt.setString(3,strPra3);
//end regiest input value
//regiest output value
callStmt.registerOutParameter(4,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(5,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(6,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(7,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(8,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(9,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(10,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(11,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(12,java.sql.Types.VARCHAR);
callStmt.registerOutParameter(13,java.sql.Types.VARCHAR);
//end regiest input value
callStmt.executeUpdate();
for(int x=4;x