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

Problema con el arrayList

Estas en el tema de Problema con el arrayList en el foro de Java en Foros del Web. //Mi problema es el siguiente: //Realizo una select de una base de datos y capturo los usuarios. //Todo eso lo voy metiendo en un arrayList, ...
  #1 (permalink)  
Antiguo 21/01/2005, 03:36
 
Fecha de Ingreso: enero-2005
Mensajes: 3
Antigüedad: 19 años, 3 meses
Puntos: 0
Problema con el arrayList

//Mi problema es el siguiente:
//Realizo una select de una base de datos y capturo los usuarios.
//Todo eso lo voy metiendo en un arrayList, pero cual es mi sorpresa,
que cuando recorro el arrayList me pone tantos usuarios como hay en la tabla de usuarios, pero repitiendo siempre el ulitmo.
Ejemplo<:
Lo que hay: 1 Raul, 2 Ivan, 3 Ruben
Lo que muestra cuando recorro el arrayList: 3 Ruben, 3 Ruben, 3 Ruben

AGRADECERIA MUCHO TODAS VUESTRAS SOLUCIONES. MUCHAS GRACIAS


public ArrayList ListadoUsuario(){
//Variables

BaseDatos basedatos = new BaseDatos();

basedatos.AbrirConexion();

Usuario usuario = new Usuario();


ArrayList usuarios = new ArrayList();


try{
int id = 0;
String nombre = "";
//Creamos un Statement
Statement stmt = basedatos.conexion.createStatement();

//Creamos la sentencia SQL
String sentenciaSQL = "SELECT * FROM USERS";

//Ejecuto la sentencia SQL en el statement y crear un ResultSet para lo que devuelve el executeQuery.
ResultSet rsst= stmt.executeQuery(sentenciaSQL);

while(rsst.next()){
usuario.setId(rsst.getInt(1));
usuario.setNombre(rsst.getString(2));
usuarios.add(usuario);
}
}catch(SQLException sqle){
sqle.printStackTrace();
System.err.println("Error al listar los usuarios");
}

basedatos.CerrarConexion();

return usuarios;
}
  #2 (permalink)  
Antiguo 21/01/2005, 06:35
 
Fecha de Ingreso: diciembre-2004
Mensajes: 10
Antigüedad: 19 años, 4 meses
Puntos: 0
Hola, lo que te ocurre es q tienes que poner la creacion del Bean dentro del while... es decir mover la linea: Usuario usuario = new Usuario(); y ponerla aki:
while(rsst.next()){
Usuario usuario = new Usuario();
usuario.setId(rsst.getInt(1));
usuario.setNombre(rsst.getString(2));
usuarios.add(usuario);
}

Y listo.. ya funciona :P, espero q te sirva.. ya me diras ;)
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 05:59.