Navegacao entre registros na WEB tô apanhando!

1 resposta
V

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

1 Resposta

B

Cara você está tentando fazer meio de percorrer em ordem pelos registros, certo.

Pergunto: se está é a idéia, porque você está fazendo um WHERE pela descrição? Não seria mais correto você controlar a navegação pelo código.

Vamos para uns exemplos básicos. Supondo que vocÊ está no registro 10 e deseja ir para o proximo, certo.

Você teria que fazer algo assim, "select [colunas ou *] FROM [nome_tabela] WHERE [campo_chave_tabela] > 10".

Faça o inverso para navegar para o código anterior. Para o último e o primeiro utilize o MAX([campo_chave_tabela]) ou MIN([campo_chave_tabela]).

Se restarem dúvidas, posta aí que tentamos auxilialo.

Um abraço, e sucesso.

Criado 12 de fevereiro de 2008
Ultima resposta 16 de fev. de 2008
Respostas 1
Participantes 2