// Mostra o conteúdo de um ResultSet numa tabela - JTable import import import import java.sql.*; javax.swing.*; java.awt.*; java.util.*; public class Tabela extends JFrame { private ResultSet rs; public Tabela(ResultSet rs) throws SQLException { this.rs = rs; // Posiciona o primeiro registo boolean maisRegistos = rs.next(); // Se não houver registos, exibe mensagem if (! maisRegistos) { JOptionPane.showMessageDialog(this,"Nao existem maisRegistos!"); setTitle("NAO EXISTEM REGISTOS"); return; } setTitle("Conteúdo do ResultSet"); Vector colunas = new Vector(); Vector linhas = new Vector(); // Obter os títulos de coluna ResultSetMetaData rsmd = rs.getMetaData(); // public String getColumnName(int column) throws SQLException // column - a primeira coluna é 1, a segunda é 2, ... for (int i=1; i <= rsmd.getColumnCount(); ++i) colunas.addElement(rsmd.getColumnName(i)); // Obter os dados da linha while (rs.next()) { // Obtencao de todos os elementos de um registo (Linha) Vector linhaCorrente = new Vector(); for (int i=1; i <= rsmd.getColumnCount(); ++i) linhaCorrente.addElement(rs.getString(i)); linhas.addElement(linhaCorrente); } // Exibir a tabela com o conteúdo de ResultSet JTable tabela = new JTable(linhas,colunas); JScrollPane scroller = new JScrollPane(tabela); getContentPane().add(scroller,BorderLayout.CENTER); validate(); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); pack(); setVisible(true); } // Terminar a conexão com a base de dados public void terminarConexao() throws SQLException{ rs.close(); } }