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?
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
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 < 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