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
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
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
É 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.
Bons estudos!