ResultSet

Boa galera ,

aqui me ajudem… tenho uma consulta ( resultset ) , como faço para saber quantos registros tenho nesse resultset…
Obs. Mais tenho que exibir o conteudo da tabela tb…

Boa galera vlw

Abraços…

Valmir Lopes


String sql = " select * from suaTabela "
		
ResultSet rs = new Connection().createStatement().executeQuery("");
		
while (rs.next()) {
			
      // obtém as colunas do resultado da sua query 
     // exemplo se sua query trazer três colunas
	
     // para efeito de exemplo 		
       System.err.println( rs.getObject( 1 ));
       System.err.println( rs.getObject( 3 ));
       System.err.println( rs.getObject( 3 ));
		
}

lembrado que a interface ResultSet possui vários metódos de retorno de coluna com o tipo pré definido que recebe como parâmetro a posição da coluna ( Resultado da query ) ou nome da coluna

ex :

rs.getString( numero da coluna );
rs.getString(nome da coluna );

de uma olhada na documentação da interface

Obrigado amigo Bravox,

Mais qual a minha duvida… legal vou lista o select … mais eu queria alem de exibir os dados informar a quantidade de registro na consulta…

Grato pela ajuda…

abraços … me ajude aí…

Obrigado amigo pela ajuda, mais es a minha pegunta esta seria amelhor forma de fazer isto…

Agradeço aos amigos pela ajuda , mais tipo colaborem…

Abraços

Valmir Lopes

cara se vc quer saber quantos itens a consulta de retornou coloca um contador dentro do while e depois manda mostrar… ou entaum explique melhor tua duvida para que possamos ajuda-lo!

Olá, um resultset funciona como se você tivesse um cursor (realmente é isso) percorrendo a sua lista de resultados, de forma que em não existe nenhum método aqui que retorne o numero total de “linhas”; veja;

http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html

Aqui diz

como solução você deve executar um outro select que te traga o numero de resultado. Faça um count da sua query.

"SELECT count(*) FROM"

ou veja como é possível fazer uma POG


ResultSet rs = <whereever it comes from>
rs.last();
int rowCount = rs.getRow();
rs.beforeFirst();  // put back the row pointer to where it was initially
< now process your rows, but you know rowCount >

Captou?