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

Resultset en una lista

Estas en el tema de Resultset en una lista en el foro de Java en Foros del Web. Hola que tal me encuentro en un aprieto: Mi problema es el siguiente. Realize una consulta a la BD me traigo los resultados en un ...
  #1 (permalink)  
Antiguo 30/10/2008, 17:16
 
Fecha de Ingreso: enero-2006
Ubicación: México
Mensajes: 117
Antigüedad: 18 años, 10 meses
Puntos: 0
Resultset en una lista

Hola que tal me encuentro en un aprieto:

Mi problema es el siguiente.
Realize una consulta a la BD me traigo los resultados en un Resultset, despues los paso a una lista, pero ahora no encuentro la forma de recuperar los datos de la lista como si esta fuera el resultset por posiciones, pongo mi codigo para ver mi me entienden mejorsin...

public metodo() {
ResultSet rs = null;
Connection conn;
Statement stmt;
List myList= new ArrayList();
try{
conn =tomolaconexion(false);
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT USER_ID, USER_NAME FROM TABLA");

List wantedColumnNames = getColumnNames(rs);
myList= toList(rs, wantedColumnNames);

Iterator it = myList.iterator();

if(myList!= null && !(myList.isEmpty())){

while(it.hasNext()){
System.out.println(it.next());
//Aqui es donde quiero traer en algunas veces el USER_ID o el USER_NAME ose que solo me tome un valos de la list ya sea id o nombre
}

}

}catch (Exception e) {
System.out.println("Ocurrio el Error: "+ e.getMessage());
}
}


espero me puedan ayudar salu2 y gracias
__________________
Where is my mind?....
  #2 (permalink)  
Antiguo 31/10/2008, 10:04
Avatar de Xinef  
Fecha de Ingreso: marzo-2007
Mensajes: 202
Antigüedad: 17 años, 8 meses
Puntos: 7
Respuesta: Resultset en una lista

Crea un bean con los datos que quieres recuperar de la base de datos... en este caso veo que es el ID y el nombre de usuarios... Más o menos así:

Código:
    class Usuario {
      private String id;
      private String nombre;

      Usuario(String id, String nombre) {
          this.id = id;
          this.nombre = nombre;
      }

     //Aquí los métodos getter y setter.

    }

Cuando tengas el resultset, recórrelo rellenado tu estructura de objetos Usuario... Más o menos:

Código:
   [...]
    Map usuarios = new HashMap();
    while (rs.next()) {
         
         Usuario usuario = new Usuario(rs.getString("ID_USUARIO"), rs.getString("NOMBRE_USUARIO"));

         usuarios.put(usuario.getId(), usuario);
    }

Con eso tendrás un mapa con el campo "ID" como clave. Para recuperar un usuario en concreto sólo tendrías que hacer:

Código:
    [...]
    Usuario usuario = (Usuario) usuarios.get("123");

    println("El nombre del usuario 123 es: " + usuario.getNombre());
Si quieres el listado completo, sólo tienes que iterar todas las claves del mapa. Dependiendo de tus necesidades, te puede interesar otro tipo de estructuras.
  #3 (permalink)  
Antiguo 31/10/2008, 10:30
 
Fecha de Ingreso: enero-2006
Ubicación: México
Mensajes: 117
Antigüedad: 18 años, 10 meses
Puntos: 0
Respuesta: Resultset en una lista

Pues Gracias ya lo he logrado de esa manera muchas gracias.....
__________________
Where is my mind?....
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 22:23.