ResultSet: registro anterior

5 respostas
N

Se tenho uma ResultSet rs, que fez um SELECT, como faço para voltar para um registro anterior da ResultSet, sabendo que rs.next() passa para o próximo registro ???

5 Respostas

luiz_ross

Assim ó : rs.last();

R

acho q p/ pegar o registro anterior do ResultSet, o certo seria
rs.previous();

rs.last() retorna o ultimo registro do ResultSet…

mas p/ poder mover o cursor do ResultSet, precisa passar alguns parametros a mais…

Statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

falow

luiz_ross

Puta, que viajem minha, foi mal !!! :oops: :lol:

Plud

“rbarioni”:
acho q p/ pegar o registro anterior do ResultSet, o certo seria
rs.previous();

rs.last() retorna o ultimo registro do ResultSet…

mas p/ poder mover o cursor do ResultSet, precisa passar alguns parametros a mais…

Statement = connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);

falow

Vale dar uma conferida na versão do JDBC, só a partir da 2.0 criou-se a opção de navegação no ResultSet…

CleberPereira

Boa tarde.

Eu estou com um problema similar, eu criei um sistema de cadastro, eu criei 4 botões.

[b]O primeiro botão pega o primeiro registro em uma determinada tabela do banco de dados (usando o " conecta.rs.first(); " ).

O segundo botão, pega o próximo registro salvo no banco de dados (usando o " conecta.rs.next(); ").

O terceiro botão pega o registro anterior (usando o " conecta.rs.previous(); " ).

O quarto botão, pega o último registro (usando o " conecta.rs.last(); " ).[/b]

Só que ta dando erro quando eu tento utilizar o " conecta.rs.previous(); ", me da um erro enorme

"

run:

jun 13, 2015 3:34:34 PM formularios.FrmEstado btnAnteriorActionPerformed

GRAVE: null

org.postgresql.util.PSQLException: ResultSet não está posicionado corretamente, talvez você precise chamar next.

at org.postgresql.jdbc2.AbstractJdbc2ResultSet.checkResultSet(AbstractJdbc2ResultSet.java:2881)

at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getInt(AbstractJdbc2ResultSet.java:2117)

at org.postgresql.jdbc2.AbstractJdbc2ResultSet.getInt(AbstractJdbc2ResultSet.java:2589)

at formularios.FrmEstado.btnAnteriorActionPerformed(FrmEstado.java:370)

at formularios.FrmEstado.access$600(FrmEstado.java:19)

at formularios.FrmEstado$7.actionPerformed(FrmEstado.java:149)

at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)

at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2346)

at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)

at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)

at java.awt.Component.processMouseEvent(Component.java:6525)

at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)

at java.awt.Component.processEvent(Component.java:6290)

at java.awt.Container.processEvent(Container.java:2234)

at java.awt.Component.dispatchEventImpl(Component.java:4881)

at java.awt.Container.dispatchEventImpl(Container.java:2292)

at java.awt.Component.dispatchEvent(Component.java:4703)

at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4898)

at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)

at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)

at java.awt.Container.dispatchEventImpl(Container.java:2278)

at java.awt.Window.dispatchEventImpl(Window.java:2750)

at java.awt.Component.dispatchEvent(Component.java:4703)

at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)

at java.awt.EventQueue.access$500(EventQueue.java:97)

at java.awt.EventQueue$3.run(EventQueue.java:709)

at java.awt.EventQueue$3.run(EventQueue.java:703)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)

at java.awt.EventQueue$4.run(EventQueue.java:731)

at java.awt.EventQueue$4.run(EventQueue.java:729)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)

at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)

at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)

at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)

at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

CONSTRUÍDO COM SUCESSO (tempo total: 8 segundos)

"

e o botão " conecta.rs.next(); ", está fazendo o mesmo efeito do " conecta.rs.first(); ".

Já verifiquei os Drivers, o mesmo está tudo certo.

O que pode estar ocorrendo??

Criado 23 de outubro de 2003
Ultima resposta 13 de jun. de 2015
Respostas 5
Participantes 5