Como transformar o resultado de um ResultSet em um JTable

5 respostas
Marcos_Alexandre_Mig

Amigos,

Como transformar o resultado de um ResultSet em um JTable?

Obrigado
[]'s

5 Respostas

pauloperes

Marcos,

Vc naum transforma, vc tem que passar os dados do seu ResultSet para um Model de que fará a função de popular a tabela.

Um jeito mais elegante é primeiro vc passar para um List, Colletion ou ArrayList, pois fica mais fácil de se trabalhar com os dados, depois vc passa para o Model da tabela em questão.

Caso não consiga, me retorne que mando um código com isso já feito.

Atenciosamente,

Paulo Henrique Peres

pauloperes

Marcos,

Vamos lá, primeiro vc cria um Model, note que no código abaixo eu passo os títulos das colunas:

String[] colunasTabela = new String[]{"Código", "Nome", "Descrição" };
    DefaultTableModel modeloTabela = new DefaultTableModel(null,colunasTabela){
        public boolean isCellEditable (int row, int col){
            return false;
        }

Com o Model criado, vc passa a tabela o mesmo:

TabelaPesquisa.setModel(modeloTabela);

E depois a gente passa os dados do ResultSet para o Model, veja:

while (rs.next()){
                modeloTabela.addRow(new String[] {
                    Integer.toString(rs.getInt("codigo")),
                    rs.getString("nome"),
                    rs.getString("descricao")
                });
            }

Acho q seria isso.

Atenciosamente,

Paulo Henrique Peres

emanoel.almeida

Você não testou não???

honjoya

Amigo no meu caso funcionou perfeitamente, valeu pela dica! :lol:

ViniGodoy

Cuidado. Esse código usa diversas práticas de programação péssimas:

  1. DefaultTableModel;
  2. Mantém conexões, statements e resultsets abertos;
  3. Não separa adequadamente a view da lógica de banco;

Se você quer ver o jeito certo de fazer, leia esse tópico:
http://www.guj.com.br/posts/list/221984.java#1136413

Foi escrito 5 anos depois, com práticas mais atualizadas.

Criado 28 de julho de 2005
Ultima resposta 23 de out. de 2010
Respostas 5
Participantes 5