2

Tengo el código siguiente que se dispara con un evento al pulsar enter en en jtextfield

El problema lo tengo es que cuando se ejecuta al pulsar "Enter" me da el siguiente error, indicándome que es una excepción de tipo

Algún alma caritativa me puede decir por que se me produce? Gracias de antemano a todos. Saludos

private void JtfEmpresaKeyReleased(java.awt.event.KeyEvent evt) {                                       
    char t = evt.getKeyChar();
    if(t== KeyEvent.VK_ENTER){
        this.dni = this.JtfDni.getText().toUpperCase().trim();
        this.empresa = this.JtfEmpresa.getText().toUpperCase().trim();
        System.out.println(this.empresa);
        ODB od1 = ODBFactory.open("/Users/jesusgomez/datos/Productores.db");
        IQuery elquery = new CriteriaQuery(Productores.class, Where.equal("PrdNif", this.dni.toString().toUpperCase().trim()));
        //Productores productor = (Productores) od1.getObjects(elquery).getFirst();
        //System.out.println(productor.getPrdEmpCif());

        //productor.setPrdEmpCif(this.empresa.toString());
        //od1.store(productor);
        //od1.commit();
        //od1.close();

        Productores objeto = (Productores) od1.getObjects(elquery).getFirst();
        objeto.setPrdEmpCif(this.empresa);
        od1.store(objeto);
        this.JtfCentro.requestFocus();
    }
}             

        `

1 Answers1

1

El problema se debe a que no se pudo abrir la base de datos, regularmente ocurre porque la ruta es incorrecta.

ODB od1 = ODBFactory.open("/Users/jesusgomez/datos/Productores.db");

Si usas Neodatis ODB te sugiero cambiar el path por la ruta absoluta de la base de datos en tu pc, ejemplo:

 ODB od1 = ODBFactory.open("c:\\Users\jesusgomez\datos\Productores.db");
Jorgesys
  • 103,630
  • 13
  • 52
  • 124
  • Estoy en Mac, no en windows. A la hora de grabar un nuevo registro, consultar y borrar no tengo inconvenientes. El problema me da sólo al intentar modificarlos. Muchas gracias por tu comentario. – Jesús Gómez Jul 05 '19 at 11:09
  • Es importante agregar esta información cuando preguntes para tener más información, de hecho varios usuarios han estado votando para cerrar tu pregunta por un nullpointer .;( , ¿Donde defines la actualización de datos?, pudiera ser el query el problema. – Jorgesys Jul 05 '19 at 13:37
  • He seguido todos los pasos. – Jesús Gómez Jul 06 '19 at 19:35