Preciso de algo que mostro os registro buscados de um tabela
fiz um JTable, pois ele é meio complicado pra fazer
não tem algo melhor ou menos complicado
eu fiz isso e deu mais de 37 err0rs na hora de compilar esse codigo
pegue de um livro da versao 1.3, e estou utilizando a versao 1.5.0 beta2;
<blockquote>import java.awt.event.<em>;
import java.util.</em>;
import java.awt.<em>;
import java.sql.</em>;
import java.swing.*;
public class TabelaCombo extends JFrame
{
private Connection connection, conexao;
private JTable tab;
public TabelaCombo()
{
setTitle(“Tabela”);
setSize(500,300);
String url = “jdbc:odbc:MeuBanco”;
try
{
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
Connection MinhaConexao = DriverManager.getConnection(url);
MeuState = MinhaConexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
}
catch(ClassNotFoundException ex)
{
JOptionPane.showMessageDialog(null,“Driver JDBC_ODBC não encontrado!”);
}
catch(SQLException ex)
{
JOptionPane.showMessageDialog(null,“Problemas na conexão com a fonte de dados”);
}
buscaTabela();
setSize(800,600);
show();
}
private void buscaTabela()
{
Statement st;
ResultSet res;
try
{
String query =“SELECT * FROM tbveiculo Where bdveiculo”;
st = connection.createStatement();
res = st.executeQuery(query);
displayresultset( res );
st.close();
}
catch (SQLException ex)
{
ex.printStackTrace();
}
}
private void displayresultset( ResultSet rs )
throws SQLException
{
//posiciona para o primeiro registro
boolean moreRecords = rs.next();
// se não houver registro manda menssagem
if (!moreRecords)
{
JOptionPane.showMessageDialog(null,“Nao existe registro!”);
setTitle(“Filtro sem registro”);
return;
}
setTile(“Filtro”);
Vector coluna = new Vector();
Vector linhas = new Vector();
try
{
//obtem titulos de coluna
ResultSetMetaData rsmd = rs.getMetaData();
for (int i=1; i <=rsmd.getColumnCount(); ++i)
coluna.addElement( rsmd.getColumnName(i));
// obtem dados das linhas
do
{
linhas.addElement( getNextRow (rs, rsmd));
}
while(rs.next());
//exibe a tabela com os registro se houver
tab = new JTable(linhas, coluna);
JScrollPane scroller = new JScrollPane(tab);
getContentPane().add(scroller, BorderLayout.CENTER);
validate();
}
catch (SQLException ex)
{
ex.printStackTrace();
}
}
private Vector getNextRow( ResultSet rs, ResultSetMetaData rsmd)
throws SQLException
{
Vector currentRow = new Vector();
for( int i =1; i<= rsmd.getColumnCount(); ++i)
switch (rsmd.getColumnType(i))
{
case Types.VARCHAR:
currentRow.addElement( rs.getString(i));
break;
case Types.INTEGER:
currentRow.addElement(
new Long( rs.getLong(i)));
break;
default:
System.out.println ("");
}
return currentRow;
}
public void shutDown()
{
try
{
connection.close();
}
catch(SQException ex)
{
ex.printStackTrace();
}
}
public static void main(String args[])
{
final TabelaCombo app = new TabelaCombo();
app.addWindowListener(
new WindowAdapter() {
public void windowClosing(WindowEvent e)
{
app.shutDown();
System.exit(0);
}
}
);
}
}
