[Resolvido] Como saber quantidade de linhas do ResultSet?

7 respostas
A

Bom dia amigos, tenho 1 aplicação em Java onde você pode navegar pelos cadastros que estão no banco de dados usando 2 botões de navegação então se eu tiver 10 cadastros e a pessoa clicar 10 vezes no botão Proximo ela ira para o ultimo, porem, se ela clicar novamente (pela 11ª vez) o sql vai retornar um erro pois não existe a linha 11.

Eu estou fazendo assim, criei 1 variavel do tipo int.

Cada vez que a pesoa clica em proximo a variavel almenta 1.
Cada vez que a pessoa clica voltar a variavel diminui 1.

Essa variavel é correspondente ao numero de linhas que a pesquisa retornou.

Então eu coloco a variavel aqui

rs.absolute(linhaX);

O que eu queria fazer é saber quantas linhas tem o resultado (ResultSet) que o Mysql que retornou, para poder criar uma condição em que caso chegue na ultima linha o botão seja desabilitado.

Resumindo: Como posso saber quantas linhas tem no ResultSet?

7 Respostas

U

Já tentou isso!?

rs.getRow()

vlw

A
UMC:
Já tentou isso!?
rs.getRow()

vlw

getRow vai até determinada linha não é?

Certo, porem, eu ja tentei com getRow, eu queria saber o numero de linhas totais, por exemplo, se eu tiver 10 Allan cadastrados e procurar Allan o mysql vai me retornar 10 linhas correto? Eu queria saber o numero total de linhas.

Eu implementei esse comando da seguinte maneira

int quantidadeDeLinhas = rs.getRow();
		            int linhaX = 10;
		            
		            if (quantidadeDeLinhas < linhaX){
		            	String user = rs.getString("Nome");
			            jTextUsuario.setText(user);
			            jTextUsuario.disable();
		            } else {
		            	System.out.println("Não tem essa linha");
		            }

obrigado

U

Posta o método todo!
não consegui ver o erro!

vlw

A
UMC:
Posta o método todo! não consegui ver o erro!

vlw

Aquele erro de SQL foi eu que esqueci 1 detalizinho, mais ainda não consegui fazer funcionar o que eu quero vamos voltar pro que interessa :D

Eu consegui eu acho, ainda não implementei no meu codigo, estou só no ambiente de teste porem achei uma coisa interessante

int linhaX = 10;
		            boolean quantidadeDeLinhas = rs.absolute(4);
		            		            
		            if (quantidadeDeLinhas){
		            	while (rs.absolute(linhaX)){
		            	String user = rs.getString("Nome");
			            jTextUsuario.setText(user);
			            jTextUsuario.disable(); }
		            } else {
		            	System.out.println("Não tem essa linha");
		            }

Funcionou perfeitamente, obrigado por tudo UMC, e só pra observar, entrei no seu blog e achei bem interessante, porem tentei fazer 1 download e dei de cara com um janela pedindo usuario e senha :?

Aquele seu organizador de arquivos, eu vou precisar fazer algo semelhante para esta mesma solução, ele é open source?

D

Você pode fazer um count antes da consulta.

U
Allan2M:
UMC:
Posta o método todo! não consegui ver o erro!

vlw

Aquele erro de SQL foi eu que esqueci 1 detalizinho, mais ainda não consegui fazer funcionar o que eu quero vamos voltar pro que interessa :D

Eu consegui eu acho, ainda não implementei no meu codigo, estou só no ambiente de teste porem achei uma coisa interessante

int linhaX = 10;
		            boolean quantidadeDeLinhas = rs.absolute(4);
		            		            
		            if (quantidadeDeLinhas){
		            	while (rs.absolute(linhaX)){
		            	String user = rs.getString("Nome");
			            jTextUsuario.setText(user);
			            jTextUsuario.disable(); }
		            } else {
		            	System.out.println("Não tem essa linha");
		            }

Funcionou perfeitamente, obrigado por tudo UMC, e só pra observar, entrei no seu blog e achei bem interessante, porem tentei fazer 1 download e dei de cara com um janela pedindo usuario e senha :?

Aquele seu organizador de arquivos, eu vou precisar fazer algo semelhante para esta mesma solução, ele é open source?


Ok, de nada, beleza!

PS -> sobre o blog obrigado por me avisar do problema! hoje vou corrigir!
Se é open source pode ser sim!
me passa seu Email que eu envio!

Obrigado também pela visita volte sempre!
vlw

L

Se você quer obter os 10 primeiro elementos, você pode fazer isso direto na consulta

my sql
SELECT * FROM tbl LIMIT 10;

Sql server
Select top 10 * From tbl

Criado 6 de maio de 2010
Ultima resposta 6 de mai. de 2010
Respostas 7
Participantes 4