Guardado de arrays en un vector
Publicado por Dany (1 intervención) el 21/05/2015 12:47:29
Buenas,
estoy intentando guardar en un vector distintos usuarios que consulto de mi BBDD, pero cuando termino de recorrer los resultados de mi consulta, y recorro el vector, veo que me ha guardado en todos los campos el ultimo usuario que he recibido, llevo horas dandole vueltas y probando soluciones y nada, siempre me guarda el mismo usuario en todos los campos, ¿veis alguien donde esta el fallo?
El codigo es
:
Muchas gracias por la ayuda
Bueno, parece que ha sido subir la pregunta y hayar la respuesta...solo he tenido que declarar un nuevo array para cada iteracion del while, es decir, tenia el array declarado fuera, y he pasado a declararlo dentro del bucle while, con eso funciona perfecto.
Muchas gracias de todas maneras y espero que le sirva de ayuda a alguien si le pasa lo mismo.
Un saludo!
estoy intentando guardar en un vector distintos usuarios que consulto de mi BBDD, pero cuando termino de recorrer los resultados de mi consulta, y recorro el vector, veo que me ha guardado en todos los campos el ultimo usuario que he recibido, llevo horas dandole vueltas y probando soluciones y nada, siempre me guarda el mismo usuario en todos los campos, ¿veis alguien donde esta el fallo?
El codigo es
:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
String selectSQL="select hk_camareros.id_usuario,hk_camareros.nif_nie,hk_camareros.nombre,"
+ "hk_camareros.apellidos,hk_camareros.email,hk_camareros.telefono_movil, hk_observaciones.OBSERVACIONES "
+ "from hk_camareros left join hk_observaciones on hk_camareros.id_usuario=hk_observaciones.id_usuario "
+ "where act='"+user+"' and cod_estado='99'";
System.out.println("###########" + selectSQL + "############");
try {
conn2 = OracleJDBC.getConexionJDBC();
preparedStatement = conn2
.prepareStatement(selectSQL);
rs = preparedStatement.executeQuery();
while(rs.next()){
camarero[0]=rs.getString(1);
camarero[1]=rs.getString(2);
camarero[2]=rs.getString(3);
camarero[3]=rs.getString(4);
camarero[4]=rs.getString(5);
camarero[5]=rs.getString(6);
if(rs.getString(7)==null){
camarero[6]="";
}else{
camarero[6]=rs.getString(7);
}
listaCamareros.addElement(camarero);
for (int j = 0; j < camarero.length; j++) {
System.out.println(camarero[j]);
}
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally {
try {
conn2.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}// TODO Auto-generated method stub
}
camarero=listaCamareros.elementAt(0);
id.setText(camarero[0]);
nif.setText(camarero[1]);
nombre.setText(camarero[2]);
apellidos.setText(camarero[3]);
email.setText(camarero[4]);
telefono.setText(camarero[5]);
observaciones.setText(camarero[6]);
for( int i=0; i<listaCamareros.size() ; i ++ ){
camarero=listaCamareros.elementAt(i);
for (int j = 0; j < camarero.length; j++) {
System.out.println(camarero[j]);
}
}
Muchas gracias por la ayuda
Bueno, parece que ha sido subir la pregunta y hayar la respuesta...solo he tenido que declarar un nuevo array para cada iteracion del while, es decir, tenia el array declarado fuera, y he pasado a declararlo dentro del bucle while, con eso funciona perfecto.
Muchas gracias de todas maneras y espero que le sirva de ayuda a alguien si le pasa lo mismo.
Un saludo!
Valora esta pregunta


0