MySQL - Como retornar un valor de un stored procedure

 
Vista:

Como retornar un valor de un stored procedure

Publicado por felipe (7 intervenciones) el 18/07/2007 23:59:12
hola,
Estoy desarrollando un proyecto en java netbeans 5.5 y mysql 5.2.
En la base de datos tengo un stored procedure y necesito retornar un valor de él, el valor de "x" en este caso.

Este es mi stored procedure

delimiter //
create procedure get_ped (p int, out x int)
begin
select cod_consecutivo from consecutivos into x;
update encabezados set
nfactura_encabezados = x
where encabezados.cod_pedido_encabezados = p;
update detpedidos set
nfactura_detpedidos = x
where detpedidos.cod_pedido_detpedidos = p;
update consecutivos set cod_consecutivo = cod_consecutivo + 1;
end; //
delimiter;

desde java lo llamo con 2 clases asi:

public ResultSet modificarfactura (int valor1) {
ResultSet resultado1 = null;
ResultSet rs = null;
try {
s.setInt(1,2);
//resultado1 = s.executeQuery();
cs.registerOutParameter(2, java.sql.Types.INTEGER);
rs = cs.executeQuery();
//System.out.println("<br> ** "+ cs.getInt(2));


}
catch ( SQLException ex ) {
ex.printStackTrace();
}
return rs;
}

y esta otra,

try {
setVisible(true);
int precio = Integer.parseInt(parametro);
System.out.println( "\n Resultado de la busqueda:");

ResultSet r1 = cons.modificarfactura(precio);

System.out.println("<br>**" + r1.getInt(1));
System.out.println("Stored Procedure executed succesfull");

} catch (NumberFormatException ex ) {
System.out.println( "No es un numero valido");
}

catch ( SQLException ex ) {
ex.printStackTrace();
}

Cuando verifico desde el prompt de mysql los datos de las tablas encabezados y detpedidos el stored procedure se ha ejecutado perfectamente "REALIZA LOS UPDATES", pero me sale un error y no retorna el valor de "x".

Si alguien sabe como puedo retornar el valor de un stored procedure muchas gracias por su colaboración y si este codigo les puede servir de algo es con mucho gusto.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder