Java - Procedimiento almacenado devuelve multiples Select

   
Vista:

Procedimiento almacenado devuelve multiples Select

Publicado por Greivin (3 intervenciones) el 04/11/2009 23:19:25
HOla!!

Tengo que ejecutar un Procedimiento almacenado usando JAVA. El problema esta en que uso un Statement el cual ejecuta el llamado al SP.

Este procedimiento, devuelve los datos mediante Selects durante la ejecución. Como hago para obtener todos los selects que se hacen en elproceso o para obtener solo el ultimo.

Saludos y gracias de antemano
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

RE:Procedimiento almacenado devuelve multiples Sel

Publicado por chasal99 (42 intervenciones) el 05/11/2009 00:34:30
hola Greivin:

Dejame entender un poco, es verdad que el store se ejecutan varios selects, pero al final este store te debera de regreasar una consulta de resultados o en su caso contrario si usas un update o insert te devolvera un valor numerico, si es que te regresa un conjunto de datos te recomiendo que uses CallableStatement y quedaria asi
ResultSet res=null;
CallableStatement store=con.prepareCall("{call nombreStore(?,?)}");
res=store.executeQuery();

ya asi ya tendrias un resulset de resultados en caso de q regrese valores numericos yo lop haria asi

int[ ] respuesta=store.executeUpdate();
aqui ya tendria un arreglo de respuestas ya asi podria ver cual fue el ultimo.

espero quete sirva, o escribe mas detallado tu problema o pon parte del codigo para verlo

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento almacenado devuelve multiples Sel

Publicado por Greivin (3 intervenciones) el 05/11/2009 17:08:20
EL SP especifico que estoy tratando de ejecutar, devuelve algo así:


-----------
1

-----------
1
Campo1 Campo2 Campo3
------------ ------------- ------------
Valor Valor Valor

Sin embargo cuando hago esto:

proc = con.prepareCall(SCRIPT);
rs = proc.executeQuery();

Devuelve solo el primer valor o sea el primer 1.

Como hago para obtener el registro que tiene varios campos, que esta en el tercer Resulset??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento almacenado devuelve multiples Sel

Publicado por chasal99 (42 intervenciones) el 05/11/2009 17:26:16
hola Greivin no se si resulte pero intenta hacer un arreglo de resulset
ResultSet[] rs=null;
proc = con.prepareCall(SCRIPT);
rs[3]=proc.executeQuery();
while(rs[2]!=null&&rs[2].next()){
//los valores del resulset
}

ahi me avisas si te sirvio?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Procedimiento almacenado devuelve multiples Sel

Publicado por Greivin (3 intervenciones) el 05/11/2009 18:44:15
Hola!

Esa solución no me funcionó...

Logre acceder los datos haciendo esto:
while(rs == null){
proc.getMoreResults();
rs = proc.getResultSet();
}

rs = null;
while(rs == null){
proc.getMoreResults();
rs = proc.getResultSet();
}

rs = null;
while(rs == null){
proc.getMoreResults();
rs = proc.getResultSet();
}

Sin embargo necesito que este proceso se detenga solo, me refiero a que si solo tengo un ResulSet, se detenga en el primer while, pero si tengo 4 ó 5, siga buscando hasta que los encuentre todos, pero sin quedar encerrado en un ciclo perpertuo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Procedimiento almacenado devuelve multiples Select

Publicado por vianey vvvvianey@gmail.com (2 intervenciones) el 13/03/2015 18:39:32
que tal amigo a mi tambien me pasa lo mismo como lo solucinaste?? porfavor ,....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar