Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/06/2011, 15:34
hkadejo
 
Fecha de Ingreso: enero-2011
Mensajes: 47
Antigüedad: 14 años
Puntos: 5
Respuesta: llamar a funcion creada en musql desde java

Cita:
Iniciado por alexander01015 Ver Mensaje
Hola hkadejo hice lo siguiente aunque igual le falta algo porq me sale cero es como si no ejecutara pienso que le falta algo q estoy pasando por alto haber si hechas una mano
Código HTML:
Ver original
  1. static public String CountFilas(String filas) {
  2.        String mensaje=null;
  3.        int numero=0;
  4.         try {
  5.             ConectaDB db = new ConectaDB();
  6.             Connection cn = db.getConnection();
  7.  
  8.             if (cn == null) {
  9.                 mensaje = "No hay conexión a la base de datos...!";
  10.             } else {
  11.                 Statement st = cn.createStatement();
  12.          
  13.                 CallableStatement sp_CountFilas=cn.prepareCall("{call NumFilasActividad(?)}");
  14.                
  15.                 sp_CountFilas.registerOutParameter(1,Types.CHAR);
  16.                
  17.                 sp_CountFilas.execute();
  18.                
  19.                 numero=sp_CountFilas.getInt(1);
  20.                
  21.                 st.close();
  22.                 cn.close();
  23.             }
  24.         } catch (SQLException e) {
  25.             mensaje=null;
  26.         } catch (Exception e) {
  27.             mensaje=null;
  28.         }
  29.        
  30.  
  31.         return String.valueOf(numero);
  32.              
  33.     }
Te lo agradeceria mucho....
Dos cosas que veo dandole un vistazo a tu codigo

1) El string de tu funcion debe ser algo asi: "? = call p_siit_functions.getNextVal(?)" si te fijas hay un primer simbolo de interrogacion que es donde se guardara el parametro de salida, tienes que ponerselo.


2) La siguiente linea
Código Java:
Ver original
  1. sp_CountFilas.registerOutParameter(1,Types.CHAR);

Ahi deberia definir un tipo numerico, no un char...el parametro de salida que registres debe ser congruente con el tipo que devuelve tu funcion.