Como saber o nome dos campos de uma SQL?

Olá pessoal,

Imaginado que eu fiz a select:

select * from minhaTabela

Tem como eu via código saber quais os nomes dos campos que foram retornados no resultSet?

se eu fizer rs.getString(“campo”) ou rs.getString(indice) ele traz o conteúdo do campo, ok.

Mas eu queria saber o nome de cada campo… alguma luz?

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html#getMetaData()

campos = rs.getMetaData().toString();

retornou:

oracle.jdbc.driver.OracleResultSetMetaData@76cbf7

Eu queria o nome de cada campo… ou q qtd de campos dava também… vlw

http://www.guj.com.br/java.tutorial.artigo.24.1.guj

Cara, o método getMetaData vai te retornar um objeto do tipo ResultSetMetaData, trabalhando com essa classe você tem um método chamada getColumnName… é só se divertir com ele.

Deve ficar algo mais ou menos assim:

     ResultSet rs = stmt.executeQuery(seuSelect);
     ResultSetMetaData rsmd = rs.getMetaData();
     int numberOfColumns = rsmd.getColumnCount();
     for(int i =0; i &lt numberOfColumns; i++) {
          System.out.println(rsmd.getColumnName(i));
     }

Certo… fiz isso ae deu:

Erro: indice de coluna inválida: getValidColumnIndex

tentei assim também:

rs = st.executeQuery(txtSQLManual.getText());
                     ResultSetMetaData rsmd = rs.getMetaData();
                                          
                     int i=0;
                     while(i < rsmd.getColumnCount()) {
                        texto += rsmd.getColumnName(i)  + "\n";
                        i++;
                     }

ok, já resolvi o ìndice começa em “1”!

vlew pessoal