0

Tengo que borrar un objeto persona de una BBDD. Entonces tengo una clase conexión con los métodos (cosa del profesor que se haga así en vez de en la clase persona) y un método main, os copio el cacho de código del método main y el de la clase a ver si me podéis decir porque peta. Gracias.

Da Null Point Exception(NPE) en la linea 133 que es la linea de la consulta y en la 66 del main que es la parte condicional 'if (base_datos.borrar...)'.

    public boolean borrarPersona(int identificador) {
            boolean flag = false;
            try {
                Statement orden = conn.createStatement();
                orden.executeUpdate("DELETE FROM persona WHERE identificador = " + identificador);
                orden.close();
                flag = true;
            } catch (SQLException e) {
                System.out.println(e);
            }
            return flag;
        }
    // METODO MAIN
    case 2:
                        int identificador;
                        System.out.println("introduzca la identificacion de la persona: ");
                        identificador = Integer.parseInt(entrada.nextLine());
                        if (base_datos.borrarPersona(identificador)) {
                            System.out.println("Contacto borrado de la base de datos...");
                        } else {
                            System.out.println("Contacto no encontrado en la base de datos...");
                        }
                        System.out.println("\nPresiona Intro para continuar....");
                        entrada.nextLine();
                        break;
icortazar
  • 158
  • 9
unknow
  • 1,896
  • 9
  • 35

1 Answers1

0

El profesor te dice que hagas el método en la clase conexión porque es donde se debe hacer. Aunque lo suyo seria utilizar una clase controladora. La clase persona solo es una clase para poder instanciar objetos de ese tipo.

Si te da null pointer exception es probablemente porque el objeto orden es null, esto lo puedes comprobar con un 'if' , por ejemplo así:

if (orden == null){
  System.out.println("ORDEN ES NULL");
}

Prueba a añadir ese código justo antes de hacer la consulta, y si en la consola sale 'ORDEN ES NULL' significa que no instancias bien dicho objeto.

icortazar
  • 158
  • 9
  • ya rula el problema era que el xamp me daba señal pero en realiadad no funcionaba y entonces no se conectaba a la BD – unknow May 09 '19 at 14:45