(resolvido) Erro acesso ao firebird - Problema ainda Não Solucionado

eu preciso utilizar dois resultset
estou fazendo como no exemplo abaixo: no exemplo mostra a linha com erro…

esta dando a seguinte exception:

Exception in thread “main” org.firebirdsql.jdbc.FBSQLException: The result set is closed
at org.firebirdsql.jdbc.AbstractResultSet.checkCursorMove(AbstractResultSet.java:218)
at org.firebirdsql.jdbc.AbstractResultSet.next(AbstractResultSet.java:260)
at testes.TesteLeitura.main(TesteLeitura.java:41)
Java Result: 1
CONSTRUÍDO COM SUCESSO (tempo total: 0 segundos)

como devo fazer para resolver esta situacao?

[code]/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package testes;

import firedao.PdvPrcDAO;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Properties;
import tabelas.MRP0M500AF081Dados;

/**
*

  • @author Admin
    */
    public class TesteLeitura {
    public static void main(String[] args) throws SQLException, ClassNotFoundException {
    Properties p = new Properties();
    p.put(“user”, “SYSDBA”);
    p.put(“password”, “masterkey”);
    p.put(“lc_ctype”, “ISO8859_1”);

     Class.forName("org.firebirdsql.jdbc.FBDriver");
    
     String url = "jdbc:firebirdsql:127.0.0.1/3050:c:/pdvjgs/dados/mpdv.fdb";
     Connection con1 = DriverManager.getConnection(url, p);
     
     String sql1 = "select first 10 * from pdvprc";
     PreparedStatement stmt1 = con1.prepareStatement(sql1);
     ResultSet rs1 = stmt1.executeQuery();
     
     String sql2 = "select first 10 * from trbmaq";
     PreparedStatement stmt2 = con1.prepareStatement(sql2);
     ResultSet rs2 = stmt2.executeQuery();
     rs1.next();
     rs2.next();
     rs1.next();
     rs1.close();
    
     rs2.close();
    
     stmt1.close();
     
     stmt2.close();
    
     con1.close();
    

    }
    }[/code]

gente… eu ainda estou nesta pendencia…
pelo que eu estou vendo eu so posso ter um recordset
por conexao isso e verdade[url]?
porque se eu abrir outra conexao funciona…

alguem ai consegue entender a minha duvida

Consegue debugar?

Por algum motivo (que não consegui enxergar sem teste), seu ResultSet chamado rs1 está fechado (closed, como diz o stacktrace) quando você executa rs1.next(), o que faz o método next() causar a exceção. Seu problema deve estar aí.

Abraço.

bom dia a todos…
este problema que estou demostrando aqui
ainda nao consegui resolver…

verifiquei que se eu criar uma segunda conexao
ele funciona…

sera que eu tenho que criar uma conexao para cada
resultset?

ou seja na mesma conexao eu nao posso ter dois resultsets?

gente ainda nao consegui resolver este problema…
se alguem poder me ajudar eu agradeco…

ola jonasjgs2,

qual versão do jaybird vc está utilizando?

tenta tb setar a connection para autocommit false;

con1.setAutoCommit(false);

estou usando o jaybird 2.2.2

parabens jean_marcel_siqueira…
havia dias que eu estava com esse problema
e nao conseguia resolver…
e o setautocomimite(false) resolveu…

legal, tb já “perdi” um bom tempo tentando resolver esses tipo de situação.