Matlab - Mostrar registro consultado en Jlabel

   
Vista:

Mostrar registro consultado en Jlabel

Publicado por racso_11 (1 intervención) el 16/08/2016 19:58:46
Buen dia, esperando puedan ayudarme a solucionar mi problema, lo que quiero hacer es una consulta a una bd sql, que al insertar un dato en un jtextfield se haga la consulta e inserte el resultado buscado en un jlabel, para esto utilice un evento en el jtextfield key pressed, la consulta se hace correctamente y en parte si hace lo que he planteado.
El problema es que tengo que poner dosveces el mismo valor para que la consulta se ejecute, utilice println para ver que es lo que pasaba y note que el resultset se ejecuta dos veces igual, es decir si pongo el 1 la primera vez se ejecuta y no pasa y lo vuelvo a escribir y se ejecuta exactamente igual y hace la consulta, y asi sucesivamente con los siguientes numeros. si pongo el 2 el resultset se ejecuta con el 1 y vuelvo a escribir el 2 y ya se ejecuta bien. No se si me di a entender.
Dejo mi codigo del evento y el resultado.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
private void TFSUCURSALKeyPressed(java.awt.event.KeyEvent evt) {
        // TODO add your handling code here:
         datos();
         if(sucursal.equals("0")){  }else{ sucursal=" where sucursal="+sucursal;
        String sqlsuc = "select SUCURSAL, NOMBRE from SUCURSALES "+sucursal+" order by SUCURSAL";
 
        PreparedStatement psuc; //prepara objeto
        try {
            psuc = con.getConexion().prepareStatement(sqlsuc); //obtiene la conexion y prepara la consulta en el objeto
            ResultSet rsuc = psuc.executeQuery(); //guarda el resultado de la consulta en la varialbe
            while(rsuc.next()){  //ciclo
            suc = rsuc.getString("NOMBRE"); //asigna el resultado de la consulta a una variable de tipo cadena
            }
            LSUC.setText(suc); // imprime el valor obtenido en la etiqueta
                System.out.println(rsuc);  //-------------------------imprime la consulta para ver el query
//              psuc.close(); //cierra la consulta sql2
                System.out.println(sqlsuc);   //-------------------------imprime la consulta para ver el query
        }catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Error en la consulta", "Error", JOptionPane.ERROR_MESSAGE);
            System.out.println(sqlsuc);
        }
    }
}
OUTPUT------

escribi el numero 1 en el jtextfield y no paso nada

SQLServerResultSet:1 ---escribi el numero 1 de nuevo y el jlabel se actualizo correctamente
select SUCURSAL, NOMBRE from SUCURSALES where sucursal=1 order by SUCURSAL

SQLServerResultSet:2 ----- escribi el 2 y el jlabel no se actualizo y se ejecuto el rs anterior
select SUCURSAL, NOMBRE from SUCURSALES where sucursal=1 order by SUCURSAL

SQLServerResultSet:3 ---escribi el 2 de nuevo y el jlabel se actualizo correctamente
select SUCURSAL, NOMBRE from SUCURSALES where sucursal=2 order by SUCURSAL

SQLServerResultSet:4 ---- escribi el 3 y el jlabel no se actualizo y se ejecuto el rs anterior
select SUCURSAL, NOMBRE from SUCURSALES where sucursal=2 order by SUCURSAL

SQLServerResultSet:5 ----escribi el 3 de nuevo y el jlabel se actualizo correctamente
select SUCURSAL, NOMBRE from SUCURSALES where sucursal=3 order by SUCURSAL

esto es lo que sucede... de antemano muchas gracias.
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