参考。
Stored procedure with Input/Output parms and a ResultSet
Thanks to T. Guirado for the tips. public static int storedProcWithResultSet (String parms) throws Exception
// Stored procedure to be called.
CallableStatement cs = conn.prepareCall
("{? = call mypackage.p_astoreproc (?,?,?,?,?,?,?)}"); // register input parameters
cs.registerOutParameter(1, java.sql.Types.INTEGER); // return code
cs.setString(2, "");
cs.setString(3, "");
cs.setString(4, parms);
// regsiter ouput parameters
cs.registerOutParameter(5, java.sql.Types.CHAR);
cs.registerOutParameter(6, java.sql.Types.CHAR);
cs.registerOutParameter(7, java.sql.Types.CHAR); // Procedure execution
ResultSet rs = cs.executeQuery(); // Note that you need to retrieve the ResultSet _before_ retrieving
// OUTPUT parameters.
if ( rs == null)
System.out.println( "No resultSet!");
else {
// To retrieve columns info.
ResultSetMetaData rsmd = rs.getMetaData();
int nbCol = rsmd.getColumnCount();
int i = 0;
int j = 1;
Vector vResSet = new Vector();
while (rs.next ()) {
System.out.println( "Record " + (i+1));
// putting the ResultSet columns in a vector
for ( j = 1; j <= nbCol ; j++){
vResSet.insertElementAt(rs.getString(j), 0);
vResSet.addElement(rs.getString(j));
} // Reading vector to print ResultSet data
for ( int k = 0 ; k < nbColonnes ; k++ ) {
if ( vResSet.elementAt(k) != null)
System.out.println( vResSet.elementAt(k).toString());
else
System.out.println( "Column " + (k+1) + " Null");
}
i++;
}
} // Retrieving Strored Procedure OUTPUT parameters
System.out.println( "return code of Stored procedure = : " + cs.getInt(1));
// Retrieving OUTPUT parameters
for ( int i = 5 ; i <= 7; i ++)
System.out.println( "parameter " + i + " : " + cs.getString(i)); return cs.getInt(1);
}
Stored procedure with Input/Output parms and a ResultSet
Thanks to T. Guirado for the tips. public static int storedProcWithResultSet (String parms) throws Exception
// Stored procedure to be called.
CallableStatement cs = conn.prepareCall
("{? = call mypackage.p_astoreproc (?,?,?,?,?,?,?)}"); // register input parameters
cs.registerOutParameter(1, java.sql.Types.INTEGER); // return code
cs.setString(2, "");
cs.setString(3, "");
cs.setString(4, parms);
// regsiter ouput parameters
cs.registerOutParameter(5, java.sql.Types.CHAR);
cs.registerOutParameter(6, java.sql.Types.CHAR);
cs.registerOutParameter(7, java.sql.Types.CHAR); // Procedure execution
ResultSet rs = cs.executeQuery(); // Note that you need to retrieve the ResultSet _before_ retrieving
// OUTPUT parameters.
if ( rs == null)
System.out.println( "No resultSet!");
else {
// To retrieve columns info.
ResultSetMetaData rsmd = rs.getMetaData();
int nbCol = rsmd.getColumnCount();
int i = 0;
int j = 1;
Vector vResSet = new Vector();
while (rs.next ()) {
System.out.println( "Record " + (i+1));
// putting the ResultSet columns in a vector
for ( j = 1; j <= nbCol ; j++){
vResSet.insertElementAt(rs.getString(j), 0);
vResSet.addElement(rs.getString(j));
} // Reading vector to print ResultSet data
for ( int k = 0 ; k < nbColonnes ; k++ ) {
if ( vResSet.elementAt(k) != null)
System.out.println( vResSet.elementAt(k).toString());
else
System.out.println( "Column " + (k+1) + " Null");
}
i++;
}
} // Retrieving Strored Procedure OUTPUT parameters
System.out.println( "return code of Stored procedure = : " + cs.getInt(1));
// Retrieving OUTPUT parameters
for ( int i = 5 ; i <= 7; i ++)
System.out.println( "parameter " + i + " : " + cs.getString(i)); return cs.getInt(1);
}
解决方案 »
- java UDP通讯 分包
- 第一次登陆报异常,刷新后就正常了
- jbpm4.3与spring集成后发布问题
- 如何在网页中插入一张外汇和黄金的实时报价表或者图型?向下面那个连接的右边的图形那样。
- 请问JSP怎样读取统一局域网内的某台机器内的目录?
- jsp页面编码问题
- 谁给我看看这代码有什么问题???
- 从java类将2个数组传到jsp的2个<select>中,是连动关系,有onchange事件,为什么偶尔会变成乱码?请指点!
- Context ctx = new InitialContext(env)的ClassCastException异常问题!
- 高手指点 请问:以下是什么原因??(Thank you!!!)
- 请问哪里可以找到JDK1。2。2下载?还有JRUN?最好是中文网站?
- JSP处样得到系统的日期,并进行转换??
String query = "begin thePackage.theProcedure(?,?,?); end;";
CallableStatement cs = conn.prepareCall(query);
cs.setString(1, "string parameter"); // #1 is INPUT
cs.setInt(2, 1); // #2 is INPUT
cs.registerOutParameter(2, Types.INTEGER); // and OUTPUT
cs.registerOutParameter(3, Types.INTEGER); // #3 is OUTPUT
cs.execute();int output_parm2 = cs.getInt(2); // get the result from OUTPUT #2
int output_parm3 = cs.getInt(3); // get the result from OUTPUT #3