Consulta SQL em Java

Bom dia,

Estou com duvidas em comandos sql, gostaria de saber como faço pra buscar o primeiro item de uma tabela, o anterior, o proximo e o ultimo item. O que estou fazendo é um menu de navegação.

O que sei é que o comando para posicionar num item qualquer é esse: ResultSet rs = stmt.executeQuery(“Select * from Item”);

Vlw

dependendo do seu bd vc só vai ter forward lookup então o resultset vai se comportar como se fosse um iterator.
O que vc pode fazer eh colocar cada resultado retornado em um arraylist de Beans e então ir controlando o campo que a pessoa está vendo e qual é o próximo, qual o anterior, yada yada.

moises.trovo,

Não sei da sua necessidade nem do tamanho dessa sua tabela para consulta, mas vc pode realizar um SELECT simples e colocar um ORDER BY na query e aí vai voltar uma lista ordenada, depois vc pega o seu resultSet e vai dando next para ir olhando os registros dessa lista.

opa,

na verdade seria para o Rafael_Castanho o meu post, malz.

para o primeiro Item de uma tabela , use a chave primaria, obviamente a chave primaria do primeiro item será 1
entao para o proximo utilize no resultset(rs)
.getId +1
anterior
.getId -1

siple :slight_smile:

usando este modelo tome cuidado se vc estiver desenvolvendo uma aplicação que esteja em regime transacional pois se estiver qndo vc vai salvar e dá erro a proxima vez q for salvar nao será a mesma chave da anterior e assim fik uns buracos de chave no banco

exmplo:

  • vc tenta inserir um registro que gera a chave 5, soh q acaba nao sendo salvo;
  • na proxima tentativa a chave gerada será 6, a chave 5 nunk mais será gerada.

desta maneira esses getId +1 ou -1 pode gerar uma exceção no seu sistema.

leo obrigado pela dica
mais entao de que forma eu poderia mostrar o proximo ‘cliente’ e o anterior do meu banco de dados sql
por exemplo, na pesquisa que resultou com nome de :
Miguel … entao ao apertar o ‘next’ como fazer que ele busque por ordem alfabetica o nome que comece com a proxima letra para N ou para Marina por exemplo
grato,abçs

mano8801 ,

vc pode fazer sua pesquisa da seguinte maneira. Existe duas propriedade na hora da sua consulta, q eh firstResult e maxResults, ou seja, por qual registro irá começar a sua pesquisa e qntos irão retornar. Voce configurando estes parâmetros na sua query vc consegue fazer o que chamamos de “paginação”, pois conseguimos fazer next, previous, etc…

exemplo:
-suponha q o seu banco tenha 50 registros e vc configure o firstResult pra começar a partir do 10 e coloque como maxResults 20, desta maneira a sua query varrerá o seu banco a partir do registro 10 e trará os primeiros 20 registros que satisfaçam suas condições.

Em sintaxe SQL pura nao sei exatamente o nome destes comandos, pois uso Hibernate na minha Aplicação, mas sei q estes parâmetros existem com certeza. Dá uma pesquisada sobre eles que voce vai conseguir o que precisa :smiley:

Espero ter ajudado, qlq coisa posta mais ae

[]'ssssss!!!

como que faço para mostra no console do java os dados da tabela em sql :slight_smile:

É retornado um Objeto do tipo ResultSet, certo? no caso ele é como uma lista, é só você percorrer com um while(rs.next()), que você terá todos as linhas do seu resultado da consulta da tabela e dar um sysout p/ imprimir. :wink:

Bons estudos!

vlw deu certo :smiley: