Pessoal, como faco para exibir todas colunas de um result set.
Sei que posso utilizar por exemplo rs.getString(“campo”), mas nesse caso seleciono campo a campo.
Mas como fazer para exibi-las de uma vez só no prompt de comando?
Semelhante ao que o mysql faz quando fazemos um select * from…
Vlw.
Você pode contar o número de colunas desse ResultSet, usando o método getMetaData(), que lhe retorna um objeto do tipo ResultSetMetaData.
Ele pode lhe dar:
- O número de colunas (getColumnCount());
- O nome de cada coluna (getColumnName());
- O tipo de cada coluna (getColumnType());
e outras informações.
A sua consulta está rodando normal?
// se houver registros, entra no while e verifica a cada iteração se existem mais linhas
while ( seuResultSet.next() ) {
System.out.println( rs.getString( "nomeDoCampo" ) );
}
Falow!
Desculpa pelo fora… vc ta falando de colunas… err…
Faz como o thingol falou, usa o ResultSetMetaData…
Acho que isso pode te ajudar
while (resultSet.next()) {
for (int i = 1; i <= numberOfColumns; i++) {
System.out.print(resultSet.getObject(i));
System.out.print("/"); }
System.out.println();
}
Ao usar a API JDBC, vc deve ter um conhecimento sobre a estrutura do banco de dados que vc estará usando!! Mas se vc quer trabalhar de forma mais genérica, vc deve olhar a documentação da interface java.sql.ResultSetMetaData. Esta interface possui métodos que retornam a quantidade de colunas existentes no ResultSet, os nomes dessas colunas, tipo e outras coisas mais!! Para obter uma instância de ResultSetMetaData, vc deve possuir uma instância de ResultSet e chamar o método getMetaData() a partir dela!!
Espero ter ajudado!!
Flw aew e t+!!
Bom cara… num sei se vai ajuda muito mais tenta isso aqui
o rst no código é um ResultSet.
while ( rst.next() ) { //enquanto tem um proximo registro
for (int i =0 : rst.getMetaData().getColumnCount()-1) { //de zero até o numero de colunas
System.out.print(rst.getString(i)); // escreve todas as colunas do registro corrente
}
}
tem tambem o “rst.getArray(i)” dai nem precisa do while, me parece q ele retorna um array com todos os dados da coluna!
espero ter ajudado!
Não, ele retorna um java.sql.Array se a coluna for do tipo ARRAY (existem alguns bancos de dados que têm esse tipo.)
ok, valew ai… essa eu tb não sabia!
Valeu galera. Todas as dicas extremamente uteis.