Java - Guardado de arrays en un vector

   
Vista:

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
:
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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder