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)); 
        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); 
  } 
} 
 
    
     
  
  |