Não consigo navegar nos registros do BD!

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 !!!

:cry: :cry: :cry:

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.