Foro de elhacker.net

Programación => Java => Mensaje iniciado por: josco en 6 Marzo 2012, 01:08 am



Título: error Operation not allowed after ResultSet closed
Publicado por: josco en 6 Marzo 2012, 01:08 am
que tal, tengo un error  Operation not allowed after ResultSet closed con mysql lo que intento hacer es cambiar datos dependiendo del id de ellos tengo el siguiente codigo:

Código:
MySQLClass conexion = new MySQLClass();

try {
                            rs = conexion.exec("select idPedido from pedidos where strFechaDeEntrega = '"+obtenerFechaSeleccionada()+"';");
                            rs.next();
                            //actualizar idpedidodeldia de todos los pedidos porque al quitar uno de esa fecha todos esos id cambian
                            for(int i=1;i<=totalPedidosDelDia;i++)
                            {
                               
                                System.out.println("i = "+i+"y total es = "+totalPedidosDelDia);
                                System.out.println("pedidos del dia("+i+") = "+rs.getInt(1));
                                //actualizar todos los idpedidoDelDia
                                conexion.EditarIdPedidoDeldia(i,rs.getInt(1));
                                rs.next();
                            }
                   }
                   catch (SQLException ex) {
                            System.out.println("error al obtener pedid del dia = "+ex);
                            JOptionPane.showMessageDialog(this, "Error al obtener el id del pedido", "Codigo De Error (8)", 1);
                   }



el error es en la linea

Código:

conexion.EditarIdPedidoDeldia(i,rs.getInt(1));

cuando se la quito no me marca error en la clase de mysqlclass el metodo editaridPedidoDeldia esta asi:

Código:
public void EditarIdPedidoDeldia(int idPedidoDia,int idPedido)
    {
         try{
            instruc.execute("update pedidos set idPedidoDia = '"+idPedidoDia+"' where idPedido = '"+idPedido+"';");
        }catch(SQLException ex){
            System.out.println(ex);
        }
    }


entonces lo que estoy pensando es que java no me deja mandarle el rs.getint(1) ya a este metodo entonces pense hacer una tabla dinamica medio tramposa  :xD :xD y llenarla con los id que obtengo de esto:

Código:

  rs = conexion.exec("select idPedido from pedidos where strFechaDeEntrega = '"+obtenerFechaSeleccionada()+"';");


y ahora si enviarle estos id al metodo EditarIdPedidoDeldia con la ayuda del for. yo pienso que eso soucinarioa el problema pero es mas codigo y lo de la tabla tramposa no me agrada mucho  :xD :xD :xD, a ustedes de que forma se les ocurre?


saludos...