jCombobox não recebe valores do banco de dados mysql

Boa noite galera,

Estou com um problema, criei 2 jFrame, um é o CadastroBateria e o outro CadastroEventos. Gostaria que ao cadastrar o nome do evento no CadastroBateria, ele aparecesse automaticamente no jCombobox da classe CadastroEventos. Eu até segui uns exemplos daqui do fórum mas meu jcombox continua vazio, será que alguém pode me ajudar, segue abaixo o código:

public void atualizan(){

        Connection conn = null;
        String url = "jdbc:mysql://localhost:3306/";
        String dbName = "test";
        String driver = "com.mysql.jdbc.Driver";
        try {
            Class.forName(driver);
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(TCadastroBateria.class.getName()).log(Level.SEVERE, null, ex);
        }
        try {
            conn =    (Connection) DriverManager.getConnection(url+dbName,"root","");
        } catch (SQLException ex) {
            Logger.getLogger(TCadastroBateria.class.getName()).log(Level.SEVERE, null, ex);
        }

        try{ 
        Statement stmt= (Statement) conn.createStatement(); 
        ResultSet rs=stmt.executeQuery("select descricao from eventos"); 

        while(rs.next()){ 
        if(rs.next()){ 
        jComboBox1.addItem(rs.getString("descricao")); 
        } 
        } 

        }catch(Exception e){ 
        e.printStackTrace(); 



}

Tente assim:

[code]public void atualizan(){

    Connection conn = null;
    String url = "jdbc:mysql://localhost:3306/";
    String dbName = "test";
    String driver = "com.mysql.jdbc.Driver";
    try {
        Class.forName(driver);
    } catch (ClassNotFoundException ex) {
        Logger.getLogger(TCadastroBateria.class.getName()).log(Level.SEVERE, null, ex);
    }
    try {
        conn =    (Connection) DriverManager.getConnection(url+dbName,"root","");
    } catch (SQLException ex) {
        Logger.getLogger(TCadastroBateria.class.getName()).log(Level.SEVERE, null, ex);
    }

    try{ 
    Statement stmt= (Statement) conn.createStatement(); 
    ResultSet rs=stmt.executeQuery("select descricao from eventos"); 

   while(rs.next()){ 
    
    jComboBox1.addItem(rs.getString("descricao")); 
    
   } 

    }catch(Exception e){ 
    e.printStackTrace(); 

}[/code]

Verifique também se a consulta select descricao from eventos está retornando dados.

Abraço

Poxa valeu mesmo cara, funciono direitinho

Obrigado mesmo

while(rs.next()){ if(rs.next()){ jComboBox1.addItem(rs.getString("descricao")); } }

Eu apenas retirei o if, pois você estava dando next duas vezes, no while e no if.

Abraço :slight_smile: