// Mostra o conteúdo de um ResultSet numa tabela - JTable - Dei-Isep

Propaganda
// 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();
}
}
Download