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

Problemas con el ResultSet de una Consulta

Estas en el tema de Problemas con el ResultSet de una Consulta en el foro de Java en Foros del Web. Bueno, el problema que tengo es que realizo una consulta en el que me devuelve varias filas de varias columnas cada una, /** Despues de ...
  #1 (permalink)  
Antiguo 02/11/2009, 15:09
 
Fecha de Ingreso: septiembre-2009
Mensajes: 25
Antigüedad: 14 años, 7 meses
Puntos: 0
Problemas con el ResultSet de una Consulta

Bueno, el problema que tengo es que realizo una consulta en el que me devuelve varias filas de varias columnas cada una,

/** Despues de realizar el select **/
ArrayList DatosConsulta;
while( rs.next()){
Alumno miAlumno=new Alumno(); /** Clase donde guardar los datos devueltos del select, una instancia por cada alumno devuelto **/

miAlumno.dni=rs.getString("nombre"));
miAlumno.nombre=rs.getString("nombre"))
miAlumno.titulacion=rs.getString("nombre"))

DatosConsulta.add(miAlumno);
}
stmt.close();
con.close();

Básicamente voy guardadndo en un ArrayList cada instancia rellena de los datos de Alumno, pero luego no puedo recuperarlos porque al realizar DatosConsulta.get() me devuelve una clase Object de la cúal no puedo recuperar mi clase miAlumno....
Espero que puedan ayudarme, muchas gracias.
  #2 (permalink)  
Antiguo 02/11/2009, 20:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Tema movido desde PostgreSQL a Java y JSP
  #3 (permalink)  
Antiguo 02/11/2009, 21:43
Avatar de cptanalatriste  
Fecha de Ingreso: octubre-2008
Ubicación: Lima, Perú
Mensajes: 118
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: Problemas con el ResultSet de una Consulta

Sólo es necesario realizar un cast. El ArrayList está poblado las instancias de Alumno que creaste al iterar sobre el ResultSet. El problemas es que al invocar al método get del ArrayList obtienes una referencia a Object, por lo que sólo puedes invocar a los métodos de Object que tus instancias de alumno han heredado. Sin tanto rollo, esto se arregla así:

Alumno elAlumno = (Alumno)DatosConsulta.get(0);

Con esto obtienes una referencia a Alumno, pudiendo invocar ahora sí a sus métodos. Ahora, si es que el tipo dentro del ArrayList no es compatible con Alumno te va a lanzar una escandalosa ClassCastException, pero veo que ese no es el caso.

Me disculpo por lo extenso, pero espero te sirva.

Saludos!
__________________
Carlos G. Gavidia
Sun Certified Professional
IBM Certified Solution Designer
http://certified-es.blogspot.com/
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 03:36.