Mega Code Archive

 
Categories / Java Tutorial / Database
 

Stored procedure with InputOutput parms and a ResultSet

import java.sql.CallableStatement; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; public class Main {   public static void main(String[] argv) throws Exception {   }   public static int storedProcWithResultSet() throws Exception {     Connection conn = null;     CallableStatement cs = conn.prepareCall("{? = call proc (?,?,?,?,?,?,?)}");     // register input parameters     cs.setString(2, "");     cs.setString(3, "");     cs.setString(4, "123");     // 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();     ResultSetMetaData rsmd = rs.getMetaData();     int nbCol = rsmd.getColumnCount();     while (rs.next()) {       for (int i = 1; i <= nbCol; i++) {         System.out.println(rs.getString(i));       }     }     // OUTPUT parameters     System.out.println("return code of Stored procedure = : " + cs.getInt(1));     for (int i = 5; i <= 7; i++)       System.out.println("parameter " + i + " : " + cs.getString(i));     return cs.getInt(1);   } }