Hola:
Con rs.next() se coge el siguiente resultado. Tu estructura es muy rara, es más o menos esto
Código Java:
Ver originaltry {
// Hago la consulta e ignoro totalmente los resultados (no hago rs.next() ni los trato)
} catch (....) { // Pero si hay excepción...
// Me lio a tratar resultados
if (rs.next() ) {
rs = stm.executeQuery(cadSQL); // Machaco rs anterior con uno nuevo, para no tratar más resultados si los hubiera....
while (rs.next()) {
rs = // vuelvo a machacar el rs con otro nuevo resultado..
if (rs.next()) {
rs = // Y lo vuelvo a machacar
}
}
}
}
Lo normal es lo siguiente:
- Dentro del try se miran los resultados. No tiene sentido mirarlos en el catch, que sólo sucede si hay error y quizás ni siquiera tengas resultados precisamente porque ha habido un error al consultarlos.
- Si quirees varias consultas anidades, cada una que devuelva sus resultados en un ResultSet distinto. Si machacas tu resultet del while con otro resultset, al final no acabarás nunca los resultados de las primeras consultas, ya que los has perdido al machacar el ResultSet que los tenía con otro ResultSet.
Se bueno.