Olá pessoal.
Gostaria de gerar uma JTable dinamica, com as colunas de acordo com a minha consulta SQL.
Por exemplo, se eu usar SELECT * from TABELA, precisaria pegar todos os campos da consulta para colocar no título (header) da tabela.
Já por exemplo, se eu usar SELECT nome FROM CLIENTES, criar uma tabela com apenas uma coluna: nome.
Alguem pode me ajudar me informando como obter o nome da coluna?
Imagino que seja algum dos métodos do ResultSet já que ele contem o resultado do SQL, mas não estou conseguindo encontrar.
Valew pela atenção e ajuda.
Olá pessoal. Eu novamente !
Ja encontrei a resposta. Valew…
Falta de atenção mesmo. Pra processar o resultado da consulta, preciso de um objeto ResultSetMetaData
Bom, pra quem tem a mesma duvida, segue exemplo:
String CONSULTA = “SELECT * FROM CD”;
Class.forName(JDBC_DRIVER);
Connection con = DriverManager.getConnection(DATABASE, “root”, “”);
Statement consulta = con.createStatement();
ResultSet resultado = consulta.executeQuery(CONSULTA);
ResultSetMetaData meta = resultado.getMetaData();
System.out.println(“Retornou " + meta.getColumnCount() + " colunas”);
System.out.println(“Nomes:”);
for (int x=1; x <= meta.getColumnCount(); x++){
System.out.println(meta.getColumnName(x));
}
[code]ResultSet res = stmt.executeQuery("select * from clientes");
ResultSetMetaData meta = res.getMetaData();
for(int i=0;i<meta.getColumnCount();i++){
System.out.print(meta.getColumnName(i)+" ");
}[/code]
http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSetMetaData.html
http://java.sun.com/j2se/1.5.0/docs/api/java/sql/DatabaseMetaData.html