Java - Excepción JavaNullPointer cuando trato más de un R

 
Vista:

Excepción JavaNullPointer cuando trato más de un R

Publicado por Sera (2 intervenciones) el 23/12/2003 13:38:58

Hola a tod@s,

Estoy trabajando con una BD y ResultSets y tengo el siguiente problema:

cuando uso varios objetos ResultSets sin cerrarlos (es q necesito tenerlos abiertos pq tengo datos q consultar) Java se hace la picha un lío y me da una excepción JavaNullPointer. Algo como esto:

rs1 = conn.executeQuery(SQL);
while(rs1.next())
{
rs2 = conn.executeQuery(SQL);
// algunas instrucciones...
rs3 = conn.executeQuery(SQL);
// lo que sea...
** Si en este punto intento acceder a rs2, me casca **
}

He comprobado (y me han confirmado) que el problema está en mezclar resultsets. Si accediera a rs2 antes de obtener rs3 no tendría ningún problema, pero claro, me interesa hacerlo de la otra forma.

¿Alguien podría ayudarme? ¿Alguien sabría decirme cómo poder hacer esto sin que pete el código?

Gracias por adelantado.
Salu2
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
sin imagen de perfil
Val: 755
Bronce
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

RE:Excepción JavaNullPointer cuando trato más de u

Publicado por Yamil Bracho (2315 intervenciones) el 23/12/2003 15:55:20
Antes de acceder a cualquier campo en el ResultSet debes colocarte en el primer registro y eso la haces atraves del metodo next(), es decir
despues de abrir rs2, tu siguiente instruccion debe ser
if rs2.next() y entonces en este bloque abrir el resultset 3
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:Excepción JavaNullPointer cuando trato más de u

Publicado por Sera (2 intervenciones) el 23/12/2003 16:59:53

Bueno, eso ya lo hacía con una instrucción if (rs.first()), pq no itero sobre todos los resultsets. Lo q pasa es q no he puesto todo el código completo, sino un extracto, la "esencia" del mismo... :)

Gracias de todas formas por responder.
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