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

llenar un jcombobox con un resultset

Estas en el tema de llenar un jcombobox con un resultset en el foro de Java en Foros del Web. hola amigos mi pregunta es sencilla como hago para llenar un combobox desde un resultset, en el resultset tengo unos 20 registros, de una tabla ...
  #1 (permalink)  
Antiguo 26/05/2011, 09:39
 
Fecha de Ingreso: abril-2011
Ubicación: lima
Mensajes: 134
Antigüedad: 13 años, 7 meses
Puntos: 3
llenar un jcombobox con un resultset

hola amigos mi pregunta es sencilla como hago para llenar un combobox desde un resultset, en el resultset tengo unos 20 registros, de una tabla socios, solo traigo los nombres, el hecho es que solo se muestra un solo registro el llenar el combobox. este es el codigo

nota: estoy utilizando un procedimiento almacenado para traerme los datos de la DB.
Código:
 private Connection cnn=null;
    private CallableStatement cst=null;
private ResultSet rs=null;
try {
            Class.forName("com.mysql.jdbc.Driver");
            cnn=DriverManager.getConnection("jdbc:mysql://localhost/inversiones_mjc",
                    "root","2311046");
cst=cnn.prepareCall("call lista()");
            rs=cst.executeQuery();
        } catch (Exception e)
{
}


esto en el copnstructor del form donde esta el combobox

Código:
public frmNuevoUsuario() {
        initComponents();
        int x=0;
        try {
            while (rs.next()) {            
            this.jComboBox1.addItem(rs.getString(x));
            x++;
            }
        } catch (Exception e) {
        
           
        }
    }
  #2 (permalink)  
Antiguo 26/05/2011, 11:29
 
Fecha de Ingreso: abril-2010
Mensajes: 3
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: llenar un jcombobox con un resultset

Seguro Segurisimo que puedes engancar el valor del combo a una lista, que es lo que te tras de BD!
  #3 (permalink)  
Antiguo 29/05/2011, 23:41
Avatar de ryor310575  
Fecha de Ingreso: febrero-2011
Mensajes: 54
Antigüedad: 13 años, 9 meses
Puntos: 2
Respuesta: llenar un jcombobox con un resultset

No probe el codigo que muestras sin embargo se ve bien yo uso un codigo similar para llenar una tabla. Creo que deberias verificar en el this.jComboBox1.addItem(rs.getString(x) cuando te llega un objeto nulo del que no podras extraer una cadena. Yo lo hago con un rs.getObject(x).toString();
  #4 (permalink)  
Antiguo 30/05/2011, 14:42
Avatar de valdo_kof  
Fecha de Ingreso: noviembre-2009
Ubicación: San Juan del Rio, Qro
Mensajes: 192
Antigüedad: 15 años
Puntos: 16
Respuesta: llenar un jcombobox con un resultset

utiliza un modelo, yo lo hago de esta forma

donde inicia tu clase pon esto

Código Java:
Ver original
  1. import javax.swing.DefaultComboBoxModel;
  2.  
  3. public class nombre_clase{
  4.  DefaultComboBoxModel modeloCombo = new DefaultComboBoxModel();//esto es el modelo
  5. }

creas una clase para llenar ese combo

Código Java:
Ver original
  1. public void llenar_combo() {
  2.         try {
  3.             Class.forName("com.mysql.jdbc.Driver");
  4.             conexion = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/base", "usuario", "pass");
  5.             st = (Statement) conexion.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
  6.             rs = st.executeQuery("SELECT * FROM tabla");
  7.             modeloCombo.addElement("Seleccione un campo");//es el primer registro q mostrara el combo
  8.             jComboBox1.setModel(modeloCombo);//con esto lo agregamos al objeto al jcombobox
  9.             while (rs.next()) {
  10.                 modeloCombo.addElement(rs.getObject("dato"));
  11.                 jComboBox1.setModel(modeloCombo);
  12.             }
  13.  
  14.             st.close();
  15.         } catch (SQLException ex) {
  16.             Logger.getLogger(nombre_clase.class.getName()).log(Level.SEVERE, null, ex);
  17.         } catch (ClassNotFoundException ex) {
  18.             Logger.getLogger(nombre_clase.class.getName()).log(Level.SEVERE, null, ex);
  19.         }
  20.     }


y listo

si quieres actualizar este combo digamos cuando insertas datos o eliminas datos se hace esto al final de la operacion (insertar, eliminar)

Código Java:
Ver original
  1. jComboBox1.removeAllItems();//con esto limpias el combo o remueves todo lo que tiene actualmente
  2.  
  3. llenar_combo(); y vuelves a llamar tu metodo donde llenas el combo

espero y te sirva

Etiquetas: jcombobox, llenar
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 11:23.