RowCount

5 respostas
L

Bom dia pessoal!

Gostaria de tirar um dúvida de algo bem simples.

Seguinte:
Eu tenho uma classe que faz o acesso ao meu banco de dados e depois, utilizo esses dados em um JSP. Após fazer um select, eu precisaria saber o número de registros encontrados no mesmo.

ResultSet resSQL = stmt.executeQuery(strSQL)

no objeto resSQL não encontrei nenhum método que retornasse o número de linhas.

Alguém sabe como fazer isso?

Obrigado!

5 Respostas

B

É Lruiz , infelizmente no ResultSet não tem isto não , pra saber a quantidade de registros nele você tem que percorre-lo, ou fazer uma segunda query com os mesmos filtros que de um count, mas não acha isto legal não, eu costumo encapsular o resultado de pesquisas em Collections de beans, ai fica simples de contar quantos registros tem lá.

jskywalker

Tenta isso: (Não testei aqui)

resSQL.last(); // posiciona no último registro
resSQL.getRow() // obtem o número da linha atual

Valeu.

B

Lembrando que o cursor ficará posicionado no último registro do ResultSet, então volte ao primeiro se você tiver de percorrer ele.

Gustavo Guilherme BacK

jskywalker

Na verdade, vc teria que posicionar antes do primeiro, se quizer iterar o resultSet:

resSQL.beforeFirst();
while (resSQL.next()) {...}

[]'s

L

jskywalker:
Na verdade, vc teria que posicionar antes do primeiro, se quizer iterar o resultSet:

resSQL.beforeFirst();
while (resSQL.next()) {...}

[]'s

Então, eu realmente tinha pensado em algo parecido, queria ter a certeza de que não existe um método que retorne diretamente este valor.

Agradeço pela atenção!

Criado 29 de dezembro de 2004
Ultima resposta 12 de jan. de 2005
Respostas 5
Participantes 4