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?
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.