[Resolvido] Como saber quantidade de linhas do ResultSet?

7 respostas
Allan2M

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

UMC

Já tentou isso!?

rs.getRow()

vlw

Allan2M
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

UMC

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

vlw

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?

dm_thiago

Você pode fazer um count antes da consulta.

UMC
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

luciano2

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