Foros del Web » Programación para mayores de 30 ;) » Java »

recibir valores de un Procedimiento Almacenado Informix

Estas en el tema de recibir valores de un Procedimiento Almacenado Informix en el foro de Java en Foros del Web. Hice un aplicativo web en java que ataca una serie de tablas informix. Ahora tengo que hacer una clase que lance un Procedimiento almancenado en ...
  #1 (permalink)  
Antiguo 19/05/2010, 06:04
 
Fecha de Ingreso: mayo-2010
Mensajes: 1
Antigüedad: 14 años, 7 meses
Puntos: 0
recibir valores de un Procedimiento Almacenado Informix

Hice un aplicativo web en java que ataca una serie de tablas informix. Ahora tengo que hacer una clase que lance un Procedimiento almancenado en Informix (Stored Procedure) y capture un valor int que éste devuelve. El procedimiento almacenado es el que pongo:

CREATE PROCEDURE getIdLog()
RETURNING INT;
DEFINE p_valor;

FOREACH cur1 FOR
SELECT valcons INTO p_valor FROM hsjconst WHERE codcons=107

UPDATE hsjconst SET valcons = valcons + 1 WHERE current OF cur1;
END FOREACH;

RETURN p_valor;
END PROCEDURE;

y lo que quiero es que una clase Java lance este procedimiento y recoja el valor (p_valor), tengo hecho lo de abajo pero no funciona (dice que Informix no devuelve ningún valor)
...
try {
String spl = "{? = call getIdLog()}";
con = BaseDatos.abrirBD();
cs = con.prepareCall(spl);
//el valor de retorno ? es considerado como un parámetro de salida
cs.registerOutParameter(1, java.sql.Types.INTEGER);
cs.executeUpdate();
//capturo el parámetro devuelto
codigo = cs.getInt(1);
} catch (SQLException e) { .
..

Me dice que el procedimiento devuelve valores, pero no sé cómo capturarlos, he probadp a poner:
String spl = "{? = call getIdLog()}";
y me da error de sintaxis. Necesito ayuda.

Etiquetas: informix, procedure, procedurestore, store
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:47.