Olá
gostaria de um exemplo de colocar o resultado de uma pesquisa JODBC para
um JTable.
Obrigado
Olá
gostaria de um exemplo de colocar o resultado de uma pesquisa JODBC para
um JTable.
Obrigado
recupere em um ArrayList, ai mande para o model da sua table.
Olá,
Peguei esse exemplo no livro de Java da Editora Érica. Veja se serve para vc…! 
package capitulotreze;
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class Exemplo1304 extends JFrame
{
Connection conexao;
JTable tab;
public static void main(String args[])
{
JFrame Janela = new Exemplo1304();
Janela.show();
WindowListener x = new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
};
Janela.addWindowListener(x);
}
public Exemplo1304()
{
setTitle( "Tabela de Filmes" );
setSize(600,300);
String url = "jdbc:odbc:MeuBanco";
try
{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
conexao = DriverManager.getConnection(url, "", "" );
}
catch (ClassNotFoundException cne)
{
System.out.println("Erro ao carregar o driver JDBC/ODBC");
}
catch (SQLException sqlne )
{
System.out.println("Problemas na Conexão");
}
buscaTabela();
}
private void buscaTabela()
{
Statement st;
ResultSet res;
try
{
Vector cabecalho = new Vector();
Vector linhas = new Vector();
st = conexao.createStatement();
res = st.executeQuery("SELECT * FROM Filmes");
res.next();
// busca os cabeçalhos
ResultSetMetaData rsmd = res.getMetaData();
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
cabecalho.addElement( rsmd.getColumnName( i ) );
// busca dados das linhas
do
{
linhas.addElement( proximaLinha( res, rsmd ) );
}
while ( res.next() );
// Mostra a tabela com cabeçalhos e registros
tab = new JTable( linhas, cabecalho );
JScrollPane scroller = new JScrollPane( tab );
getContentPane().add(scroller, BorderLayout.CENTER);
validate();
st.close();
}
catch (SQLException sqlex)
{ }
}
private Vector proximaLinha(ResultSet rs, ResultSetMetaData rsmd )
{
Vector LinhaAtual = new Vector();
try
{
for ( int i = 1; i <= rsmd.getColumnCount(); ++i )
switch( rsmd.getColumnType(i))
{
case Types.VARCHAR:
LinhaAtual.addElement(rs.getString(i));break;
case Types.TIMESTAMP:
LinhaAtual.addElement(rs.getDate(i));break;
}
}
catch(SQLException e) {}
return LinhaAtual;
}
}