Sql

Como faço usando SQL para obter apenas o último registro.

select * from valorbanca order by idvalorbanca 

if not(rs.eof) - Não existe em Java? Como poderia fazer?

SELECT MAX(*) FROM tabela
if (rs.next()){...} 

seria o equivalente no java

[quote=simberg]Como faço usando SQL para obter apenas o último registro.

select * from valorbanca order by idvalorbanca 

if not(rs.eof) - Não existe em Java? Como poderia fazer?

[/quote]

Read JavaDoc http://java.sun.com/j2se/1.4.2/docs/api/java/sql/ResultSet.html. Javadoc é super importante. Nele tem a resposta para a sua dúvida.

Pegar apenas último valor

select * from valorbanca order by idvalor desc limit 1

Obrigado BlackDog e Zoren.

Zoren o Postgree não aceita Max(*), testei e não está funcionando.

Procurei e testei o rs.last e rs.isLast() e não funcionaram.

Alguém poderia me ajudar?

Vitinho 1712, matou!!!

Valeu.

Eu ia comentar sobre isto. É melhor resolver pelo SQL ao invés do ResultSet. Por questões de performance. Já pensou se sua tabela tem 1.000.000 de registros e você lê todos apenas para pegar o último! Depois reclama que o java é lento…

É o que estava tentando.

Obrigado.

Só lembrando uma coisa:

Os uso do limit não é funcional em todos os bancos, ele é utilizando em MySQL e alguns outros.

Outros bancos utiliza o operador TOP para pegar os primeiros registros

ex: SELECT TOP 10 NOME_ALUNOS FROM TBL_ALUNOS

Agora para pegar o inverso usa o ORDER BY e DESC, aí ele inverte a ordem de baixo para cima.

ex. SELECT TOP 10 NOME_ALUNO FROM TBL_ALUNO ORDER BY COD_ALUNO DESC.

Então se voce for utilizar outro banco e nao funcionar o LIMIT, está ai outra solucao, OK?

[quote=Arautus]Só lembrando uma coisa:

Os uso do limit não é funcional em todos os bancos, ele é utilizando em MySQL e alguns outros.

Outros bancos utiliza o operador TOP para pegar os primeiros registros

ex: SELECT TOP 10 NOME_ALUNOS FROM TBL_ALUNOS

Agora para pegar o inverso usa o ORDER BY e DESC, aí ele inverte a ordem de baixo para cima.

ex. SELECT TOP 10 NOME_ALUNO FROM TBL_ALUNO ORDER BY COD_ALUNO DESC.

Então se voce for utilizar outro banco e nao funcionar o LIMIT, está ai outra solucao, OK?[/quote]
bem lembrado Arautus

A palavra foi ótima, obrigado Arautus.