• Martes 19 de Noviembre de 2024, 15:27

Autor Tema:  Error Con Resultset  (Leído 2994 veces)

laura_mg

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Error Con Resultset
« en: Lunes 19 de Noviembre de 2007, 11:30 »
0
Hola, mi problema es el siguiente:

Estoy haciendo una aplicación que accede a una base de datos MySQL, pero cuando ejecuto un trozo de código me da el error   Operation not allowed after ResultSet closed


El código donde me da este error es el siguiente:

rs = stm.executeQuery("SELECT * FROM gastos2 WHERE idPresu="+idPresupuesto+";");

            while(rs.next()){
                int idGastos = rs.getInt("id");
                int partidaId = rs.getInt("partida");
                double costeUnitario = rs.getDouble("costeUnitario");
                int unidades = rs.getInt("unidades");
                int hito = rs.getInt("hito");
               
                rs2 = stm.executeQuery("SELECT descripcion FROM partidas WHERE id="+partidaId+";");

                while(rs2.next()){
                    for(int i=0; i<mmt.getRowCount(); i++){
                        if(mmt.getValueAt(i,0).toString().trim().equals(rs2.getString("descripcion").trim())){
                            mmt.setValueAt((float)(costeUnitario*unidades),i,hito);
                        }
                    }
                }
                rs2.close();
               
            }//while(rs.next());
           
            rs.close();

Si alguien sabe porqué me está pasando, le agradecería su ayuda.

Muchas gracias y un saludo.

fernandobarron86

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Error Con Resultset
« Respuesta #1 en: Lunes 19 de Noviembre de 2007, 14:34 »
0
Citar
rs = stm.executeQuery("SELECT * FROM gastos2 WHERE idPresu="+idPresupuesto+";");

Intenta quitarle el punto y coma que está después de "idPresupuesto"  al final del query  :)

laura_mg

  • Nuevo Miembro
  • *
  • Mensajes: 19
    • Ver Perfil
Re: Error Con Resultset
« Respuesta #2 en: Lunes 19 de Noviembre de 2007, 16:01 »
0
No, ese no es el error.
Según la base de datos que utilizo, necesito ponerle ; al final de cada sentencia.

fernandobarron86

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Error Con Resultset
« Respuesta #3 en: Lunes 19 de Noviembre de 2007, 16:26 »
0
Intenta quitar estas líneas:

Citar
rs2.close();
Citar
rs.close();

manix

  • Miembro MUY activo
  • ***
  • Mensajes: 203
  • Nacionalidad: cr
    • Ver Perfil
    • http://apuntes.delibertad.com
Re: Error Con Resultset
« Respuesta #4 en: Martes 20 de Noviembre de 2007, 05:33 »
0
revisa el orden de las acciones... y sobre todo cuando cierras los resulset porque despues de esas sentencias estas tratando de hacer algo mas &lt;_&lt;

xarlot

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Error Con Resultset
« Respuesta #5 en: Martes 16 de Noviembre de 2010, 04:28 »
0
Tiene que ver con el orden al parecer... a mi me sucedió lo mismo... revisa los ResultSet...
Por ejemplo:

conexion con = new conexion("localhost", "agendaestudiante", "root", "");
            Statement s1,s2,s3;
             
            s1 = con.conexion.createStatement();
            ResultSet R =null;          
            R = s1.executeQuery("Select * from Ramo");

               while (R.next()) {
                Cbx_Ramo.addItem(R.getObject("Ramo_Nombre"));
            }

            s2 = con.conexion.createStatement();
            ResultSet R2 =null;
             R2 = s2.executeQuery("Select * from profesor");
            while(R2.next()){
            Cbx_Profesor.addItem(R2.getObject("Prof_Nombre"));
                String profesor=R2.absolute(Cbx_Profesor.getSelectedIndex()+1);
               
            }
           
              s3 = con.conexion.createStatement();
              ResultSet R3 =null;
              R3 = s3.executeQuery("Select * from Sala");
             while(R3.next()){
             Cbx_Sala.addItem(R3.getObject("Sala_Nombre"));
             }