jCombobox não recebe valores do banco de dados mysql

3 respostas
Kiko1

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(); 



}

3 Respostas

prog.tiago

Tente assim:

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(); 



}

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

Abraço

Kiko1

Poxa valeu mesmo cara, funciono direitinho

Obrigado mesmo

prog.tiago

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:

Criado 6 de outubro de 2011
Ultima resposta 6 de out. de 2011
Respostas 3
Participantes 2