Colegas, estou tentando implementar a navegação entre registros tipo < (anterior) e > (proximo) mas ele está me retornando sempre o mesmo registro. Vejam o meu código e me digam o que estou fazendo de errado ou o que está faltando fazer :
con = conex.Abre_Conexao(con, Constantes.BANCO);
ResultSet rs = null;
try{
if (acao.equals(Constantes.ACAOANTERIOR)){
stmt = con.prepareStatement("select * from cidade where DescCidade=? order by DescCidade",rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY);
stmt.setString(1,cidade.getDescricao());
rs = stmt.executeQuery();
rs.previous();
}else if (acao.equals(Constantes.ACAOPROXIMO)){
stmt = con.prepareStatement("select * from cidade where DescCidade=? order by DescCidade",rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY);
stmt.setString(1,cidade.getDescricao());
rs = stmt.executeQuery();
rs.next();
}
while (rs.next()){
cidade = new CidadeVO();
cidade.setId(rs.getInt(1));
cidade.setDescricao(rs.getString(2));
cidade.setRegional(rs.getInt(3));
return cidade;
}
/
Muito Obrigado
Vimieiro
Voce precisa passar aí um parametro de “pagina atual”.
Suponhamos que vc deseja paginar a cada 20 registros, e esteja na 1ª pagina ao clicar em ‘proximo’ ele vai pegar os proximos 20 registros. Mas vc precisa enviar para a pagina, em um campo escondido, a pagina atual da sua navegação.
Então vc terá que declarar um contador para capturar os registros certos, tipo:
while (rs.next() && condicaoContador){
//adiciona o registro na lista
}
O resto é contigo!
Sucesso!
Nó, num entendi nada !!! hehehe
É o seguinte : eu não estou fazendo paginação e sim tentando capturar e mostrar o registro anterior ou o proximo registro, 1 a 1. Sacou ?
Vimieiro :?
Ninguem ??? Estou garrado nisso !!!
vimieiro,
Acho que você precisa mudar a sua query para a seguinte
[code]
stmt = con.prepareStatement("select * from cidade where DescCidade=? order by DescCidade [b] LIMIT 1, 2[/b]",rs.TYPE_SCROLL_INSENSITIVE,rs.CONCUR_READ_ONLY);
[/code]
No SQL a parte " LIMIT 1,2" informa que deverá trazer 1 registro e informa ao banco quantos registros ele deve pular.
Exemplo: Se eu tenho três registros, eu traria o 3 terceiro registro nesse caso, pois ele pularia os dois primeiros e traria 1 registro do proximo.
Não sei se você conseguiu entender, mas caso não consiga me avise que eu tento explicar melhor.
No seu caso, pra trazer o proximo registro você deve informar quantos registros ele deve "pular" pra que ele mostre a pagina seguinte.
Espero ter ajudado.