Paginação - HELP

Oi pessoal!

Estou fazendo paginação e sugiu um problema:
Apenas o next funciona!! 8O
E o codigo esta igual para todos eles mudando apelas o direcionamento.
O erro que da qdo tendo fazer o RecordSet.first ou RecordSet.previus ou RecordSet.last é o seguinte:

java.sql.SQLException: Operação inválida para encaminhar apenas conjunto de resultados: last

ou

java.sql.SQLException: Operação inválida para encaminhar apenas conjunto de resultados: first

ou

java.sql.SQLException: Operação inválida para encaminhar apenas conjunto de resultados: previus

E o meu codigo esta basicamente para todos eles:

[code]public Estrutura FirstReg
{
try
{
if (rs.first())
{
// pega os valores do recordset

  }

}
catch (SQLException e)
{
e.printStackTrace();
}
return estrutura;
}[/code]

E o programa esta saindo pela excessão no If

Alguem sabe como eu faço os outros funcionarem???

Talvez seu driver não suporte, que driver está usando?

E qual a necessidade de usar isso? Se está fazendo navegação nos registro, existem opções mais elegantes que isso…

O drive que estou usando é: oracle.jdbc.driver.OracleDriver.

Qual seria outro jeito de fazer essa navegação?

[quote=“jairelton”]Talvez seu driver não suporte, que driver está usando?

E qual a necessidade de usar isso? Se está fazendo navegação nos registro, existem opções mais elegantes que isso…[/quote]

Nunca trabalhe diretamente com ResultSet’s, Java é orientado a objetos e esse modelo de desenvolvimento praticamente assassina a OO, a ideia é criar classes que representem esses dados, criar uma coleção desses objetos e iterar por ela:

ex.:

[code]public class Cliente{
private int id;
private String nome;
//get & set
}

//consulta
ResultSet res = //query

List lista = new ArrayList();

while(res.next()){
Cliente cli = new Cliente();
//preenche o cliente
lista.add(cli);
}

//navegação

ListIterator ite = lista.listIterator();
ite.next();
ite.previous();
//etc[/code]

Se o ListIterator não tem tudo o que quer, procure outra classe que tenha, se não achar, extenda o ListIterator (ou outro iterator qualquer) e implemente o que você quer…

Essa navegação no ResultSet não é nem um pouco recomendavel, inclusive o ResultSet nem deveria poder ser acessado de dentro da classe onde você manipula esses dados, ele deveria estar em um DAO, mas…

Lembre-se sempre de trabalhar com objetos, não com dados soltos assim, id do cliente, nome do cliente, dadox do cliente… trabalhe com um Cliente.

Se você precisa de uma paginação legal, dê uma olhada na displayTag: http://www.portaljava.com/home/modules.php?name=Content&pa=showpage&pid=155