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

[SOLUCIONADO] Problemas al cargar un comboBox con una select sql

Estas en el tema de Problemas al cargar un comboBox con una select sql en el foro de Java en Foros del Web. Buenas, estoy desarrollando un proyecto de fin de curso en el que gestiono una base de datos desde una clase unicamente para ello, donde creo ...
  #1 (permalink)  
Antiguo 21/05/2015, 04:10
 
Fecha de Ingreso: mayo-2015
Mensajes: 3
Antigüedad: 8 años, 10 meses
Puntos: 0
Problemas al cargar un comboBox con una select sql

Buenas, estoy desarrollando un proyecto de fin de curso en el que gestiono una base de datos desde una clase unicamente para ello, donde creo la conexión y los distintos metodos para las sentencias sql.

El problema viene que al rellenar el comboBox con strings empieza a partir del segundo registro de la tabla, es decir el primero nunca aparece.

Os dejo el codigo:


-Metodo para la conexion:

Connection Enlace(Connection c) {
try {
Class.forName("com.mysql.jdbc.Driver");
c = DriverManager.getConnection("jdbc:mysql://localhost/gestionagraria", "root", "");
s = c.createStatement();

} catch (ClassNotFoundException ex) {
Logger.getLogger(GestionAgricolaBD.class.getName() ).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "Problema con la clase Driver del conector");
} catch (SQLException ex) {
Logger.getLogger(GestionAgricolaBD.class.getName() ).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null, "Problema al conectar con la base de datos");
}
return c;
}


-Metodo para la sentencia:

public ResultSet verEmpleadosNombre() throws SQLException {

try {
rs = s.executeQuery("select nombreEmpleado from empleados");
return rs;
} catch (SQLException ex) {
Logger.getLogger(GestionAgricolaBD.class.getName() ).log(Level.SEVERE, null, ex);
JOptionPane.showMessageDialog(null,"Problema al devolver la select de la tabla empleados");
}
c.close();
return rs;

}

-Ahora como relleno el comboBox:

bd = new GestionAgricolaBD();
DefaultComboBoxModel modeloCombo = new DefaultComboBoxModel();
try {
rs = bd.verEmpleadosNombre();
while (rs.next()) {

comboEmpleado.addItem(rs.getString("nombreEmpleado "));
comboEmpleado.setModel(modeloCombo);
}

} catch (SQLException ex) {
Logger.getLogger(Maquinaria.class.getName()).log(L evel.SEVERE, null, ex);
}

El programa no lanza ningun error y la consulta en el phpmyAdmin muestra todos los registros.
Agradeceria cualquier ayuda ya que es lo unico que me falla, se acerca la entrega y me trae de cabeza.
Un saludo!!
  #2 (permalink)  
Antiguo 21/05/2015, 09:43
 
Fecha de Ingreso: febrero-2011
Mensajes: 672
Antigüedad: 13 años, 1 mes
Puntos: 78
Respuesta: Problemas al cargar un comboBox con una select sql

Hola,
en esta parte de código:

Código Java:
Ver original
  1. bd = new GestionAgricolaBD();
  2. try {
  3. rs = bd.verEmpleadosNombre();
  4. while (rs.next()) {
  5.  
  6. comboEmpleado.addItem(rs.getString("nombreEmpleado "));
  7. comboEmpleado.setModel(modeloCombo);
  8. }

Tienes un espacio al final de "nombreEmpleado " <-- aquí

Código Java:
Ver original
  1. comboEmpleado.addItem(rs.getString("nombreEmpleado "));

Seguramente no te está encontrando la columna.

Saludos
  #3 (permalink)  
Antiguo 21/05/2015, 12:27
(Desactivado)
 
Fecha de Ingreso: marzo-2012
Mensajes: 366
Antigüedad: 12 años
Puntos: 31
Respuesta: Problemas al cargar un comboBox con una select sql

Truco para programadores:

System.out.println();

Este comando es el comando mágico para todo tipo de programas. Programas grandes y programas pequeños, programas más y menos enrevesados, con muchos métodos que se llaman unos a otros o con pocos. Con muchas conexiones a medios externos (BBDD, ficheros,etc) o con pocos. Sea cual sea la naturaleza del programa... este comando es mágico para ese programa.

No dudes en usar todas las copias que quieras de este comando, con las variantes que quieras de él (admite texto entre los paréntesis, y cualquier cosa que devuelva texto o cualquier tipo de valor que pueda verse como texto).

Ya tendrás tiempo de eliminar este comando cuando ya no te sirva de nada. Mientras te pueda servir... no dudes en usarlo en todos los lugares de tu código donde quieras.

Por ejemplo este es un error que hubiera sido muy, muy fácil detectarlo con su uso.
  #4 (permalink)  
Antiguo 22/05/2015, 02:05
 
Fecha de Ingreso: mayo-2015
Mensajes: 3
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Problemas al cargar un comboBox con una select sql

Lo de el espacio ha sido un error al copiarlo.
La select me retorna lo que debe y el resulset lo guarda no es problema de eso lo tengo ya mas que comprobado. El problema esta en que el comboBox carga a partir del segundo registro, el primero se lo salta y no encuentro el porque, el rs tiene todos los datos y con el while deberia cargarmelos desde el primero pero no lo hace, ¿sabeis si hay algun metodo del comboBox que controle a partir de que registro empieza?
Un saludo y gracias por las respuestas
  #5 (permalink)  
Antiguo 24/05/2015, 09:46
Avatar de farfamorA  
Fecha de Ingreso: noviembre-2010
Ubicación: Lima
Mensajes: 136
Antigüedad: 13 años, 4 meses
Puntos: 24
Respuesta: Problemas al cargar un comboBox con una select sql

No te muestra el primero porque luego de agregarlo al combo, seteas un model vacío. Prueba esto:
Código Java:
Ver original
  1. comboEmpleado.setModel(modeloCombo);
  2. try {
  3. rs = bd.verEmpleadosNombre();
  4. while (rs.next()) {
  5. comboEmpleado.addItem(rs.getString("nombreEmpleado "));
  6. }
  #6 (permalink)  
Antiguo 25/05/2015, 05:51
 
Fecha de Ingreso: mayo-2015
Mensajes: 3
Antigüedad: 8 años, 10 meses
Puntos: 0
Respuesta: Problemas al cargar un comboBox con una select sql

Arreglado!! Muchisimas gracias, no caia en ello ni para atras jeje
Un saludo y gracias de nuevo!

Etiquetas: clase, combobox, programa, select, sql, string
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 16:50.