Mostrar consulta do banco de dados em JTable

5 respostas
fredsilva.sistemas

Olá galera!
Tenho uma consulta com um banco PostgreSQL implementada e quero mostra-la em uma JTable.
Uso o Netbeans e construi o meu form pela inteface gráfica, quero que quando o meu form abrir ele mostre o conteúdo da minha tabela unidade
Alguém pode me dá uma força?

5 Respostas

Marky.Vasconcelos

Nao sei como voce trabalhar com esses dados.

Mas construi essa TableModel para trabalhar com Objetos como se fosse a List.

fredsilva.sistemas

Mark_Ameba:
Nao sei como voce trabalhar com esses dados.

Mas construi essa TableModel para trabalhar com Objetos como se fosse a List.
http://markytechs.wordpress.com/2009/05/29/objecttablemodel/

Eu acho que trabalhar com uma List é o ideal, só que eu não consegui abrir o link, pois o firewall da empresa não me deixou abrir. Tem como vc colocar o código?

Agradeço a ajuda!

Marky.Vasconcelos

Vish… é um artigo inteiro.

Tem esse outro link em ingles.

http://www.codeproject.com/KB/java/objecttablemodel.aspx

fredsilva.sistemas

Consegui resolver o que eu estava querendo!
Foi da seguinte forma:

private void listarUnidades(){
        Conexao database = new Conexao();        
        database.open();

        try{
            Statement statement = (Statement) database.con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);//Cria Statement p/ consultar o BD
            //Consulta o BD

            ResultSet resultSet = statement.executeQuery("SELECT \"UNI_DESCRICAO\", \"UNI_SIGLA\"FROM \"UNIDADE\";");
            //Processa os resultados da consulta
            ResultSetMetaData metaData = resultSet.getMetaData();
            int numColunas = metaData.getColumnCount();
            gridUnidadeMedida.getColumnModel().getColumn(0).setPreferredWidth(150);
            gridUnidadeMedida.getColumnModel().getColumn(1).setPreferredWidth(20);

            DefaultTableModel modelo = (DefaultTableModel)gridUnidadeMedida.getModel();
            modelo.setNumRows(0);

            while (resultSet.next()){
                modelo.addRow(new Object[]{resultSet.getString("UNI_DESCRICAO"),resultSet.getString("UNI_SIGLA")});
            }
        }
        catch (SQLException e){
            JOptionPane.showMessageDialog(rootPane, e.getMessage(),"Erro",JOptionPane.ERROR_MESSAGE);
        }
        finally //Assegura que a instrução e a conexão serão fechadas adequadamente
        {
            try{
                //statement.close();
                database.con.close();
            }
            catch (Exception exception){
                exception.printStackTrace();
                System.exit(1);
            }
        }
        database.close();
    }

Valeu pela ajuda Mark!

Marky.Vasconcelos

Nao vi no que te ajudei… voce ainda continuou usando a DefaultTableModel :frowning:

Criado 9 de junho de 2009
Ultima resposta 15 de jun. de 2009
Respostas 5
Participantes 2