[RESUELTO]No encuentro error, intentando borrar de un resultset

Iniciado por |Miguel|, 21 Febrero 2012, 16:02 PM

0 Miembros y 2 Visitantes están viendo este tema.

|Miguel|

No entiendo eso, ahora lo miro más despacio. Aún así, me ha dado por probar otra cosa y tampoco funciona, os pongo el código del evento del botón Eliminar:
Código (java) [Seleccionar]

if(jtblEmple.getSelectedRow() >= 0){
            int id_emp=Integer.parseInt(String.valueOf(jtblEmple.getValueAt(jtblEmple.getSelectedRow(), 0)));
            System.out.println("Borrando al emp. no: "+id_emp);
            try{
                System.out.println("entramos en el try");
                stBorrar = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);
                System.out.println("Estatement creado");
                rsBorrar = stBorrar.executeQuery("select * from emple where dept_no="+id_emp+";");
                System.out.println("resultset creado");
                rsBorrar.first();
                System.out.println("Estoy en el primer registro");
                rsBorrar.deleteRow();
                System.out.println("borrado");
                limpiaTabla();
                rellenaTabla();
            }catch(Exception e){JOptionPane.showConfirmDialog(null, e, "Error borrando", JOptionPane.PLAIN_MESSAGE);}
        }
        else
            JOptionPane.showConfirmDialog(null, "Debe seleccionar algún empleado a eliminar", "Error borrando", JOptionPane.PLAIN_MESSAGE);


Cuando llega a la línea de rsBorrar.deleteRow(); es cuando casca, igual que antes, hasta ahí lo hace todo bien (lo sé por los println).




Estoy apunto de ingresar en un manicomio!

|Miguel|

Este código puesto como evento llamado al hacer clic en la tabla funcionaba, lo he movido para que se ejecute al pulsar en el botón eliminar y ya no funciona....

¿Alguien sabe qué estoy pasando por alto? Gracias...

Código (java) [Seleccionar]

    private void jbtnEliminarMouseClicked(java.awt.event.MouseEvent evt) {
        cargaEmpleados();
        System.out.println("Entro en evento del botón:");
        int fila=jtblEmple.getSelectedRow();
        System.out.println("Fila seleccionada: "+fila);
        if(fila >= 0){
            System.out.println("entro en if");
            try{
                System.out.println("entro en el try");
                for(int i=0; i<=fila; i++){
                    System.out.println("entro en for");
                    System.out.println("Empleado: '"+rsE.getString("APELLIDO")+"'. Vuelta número: "+i);
                    rsE.next();                   
                }
                System.out.println("Voy a borrar");
                rsE.deleteRow();
                System.out.println("He borrado.");
            }catch(Exception e){JOptionPane.showConfirmDialog(null, e, "Error de borrado", JOptionPane.PLAIN_MESSAGE);}
            finally{
                System.out.println("llego al finally");
                limpiaTabla();
                rellenaTabla();
                System.out.println("salgo del finally");
            }
        }
        else
            JOptionPane.showConfirmDialog(null, "Seleccione un departamento para eliminarlo.", "Error de borrado", JOptionPane.PLAIN_MESSAGE);
    }

|Miguel|

Resuelto, estoy hecho un lumbreras.

Estaba haciendo mal el rsE, filtrando por un campo q no existe en esa tabla...