Como colocar os nomes das tabelas de um banco , em um Jcombobox?

Olá pessoal e uma prazer compartilhar essa dúvida com vocês :

Alguém já tentou listar as tabelas de um banco de dados , em um JComboBox ?

com meu algoritmo , eu consigo pegar qualquer valor sql , com tudo o “show tables” ele me traz o nome das tabelas , e não consigo fazer meu JComboBox mostrar as tabelas.
Código :
String sql = “show tables”;

    pstm2 = conn.prepareStatement(sql);
    
    //pstm2.execute(sql);
       
    rs = pstm2.executeQuery(sql);

        rs.first();
        selectable.removeAllItems();
        
        do{
     selectable.addItem(rs.getString(sql));
                                  
        }while(rs.next());

Já desenvolvi um client web de banco de dados com autocomplete. Para a parte do autocomplete, era preciso listar os nomes das tabelas e das colunas, e fiz isso com JDBC usando a classe java.sql.DatabaseMetaData.

O projeto tá no github (ele é meio antigo, mas resolvi guardar pq fiquei muito orgulhoso de ter conseguido fazer ele na época hehe). Veja:

Classe que lê os metadados do banco:

Repositório:

1 curtida

Obrigado Lucas , vou da uma estudada no seu exemplo e tentar implementar no meu projeto , vlw.

Lucas , vlw pelo Artigo enviado , com tudo eu não consegui retirar dele uma forma de retornar as tabelas do meu banco de dados , o comando sql e show tables , eu consigo executar esse comando com o java , mas não consigo fazer ele retornar para meu jcombobox , se eu conseguir retornar ele até para um JfieldText eu desenrolo o resto.

Se vc reparar no código da classe LoadSchemaController, é montado uma lista dentro de um while:

List<DbMetaData> metaDados = new ArrayList<DbMetaData>();

Se vc conseguir montar essa lista no seu código, vc conseguirá preencher sua combobox.