Título: Java y Derby - SQL "insert" error Publicado por: Cr4id3r en 10 Marzo 2015, 19:48 pm Buenas de nuevo comunidad, ya estoy por aquí de nuevo ;)
Vereis estoy realizando una interfaz gráfica para grabar datos en una base de datos embedidad en una aplicación java, el problema es que estoy teniendo un problemas a la hora de realizar un insert en la tabla y me da que se me ha pasado algo pero no consigo encontrar el que :S Creación de Base de Datos si no existe Código: public class DerbInterfaz { Insercción de Datos Código: public class saveData { He añadido la acción de registrar_datos en un botón de la interfaz grafica. Pero cuando pulso el botón me salta el siguiente error. Error Código: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException EDITO! El problema me esta viniendo porque a la hora de realizar el comando SQL insert estoy llamando a un Statement vacío, por algun motivo cuando llamo a la función conexion() no me sobreescribe la variable statement declarada en el inicio :S Título: Re: Java y Derby - SQL "insert" error Publicado por: Usuario Invitado en 10 Marzo 2015, 23:40 pm La VM lanza una NullPointerException cuando se intecta acceder a un objeto que no tiene referencia, es decir que no apuntada a nada, y que como sabemos la VM le asigna el valor null.
La VM inicializa todos los objetos con null si el programador no los ha inicialozado. En tu caso, DerbInterfaz tiene una propiedad tipo Statement que debe ser inicalizada. El problema se genera porque el método conexion declara una variable local llamada exactamente como la propoedad Statement, la cual oculta la propiedad, como resultado, la propiedad statement nunca es inicializada porque el metodo conexion declara una nueva. Entonces, como la propiedad statement nunca es inicializada, vale null y cuando tu tratas de acceder al método createStatement la VM lanza la excepción. Para solucionar tu problema solo debes remover Statement del método conexion. Tu método quedaría así: Código
Recuerda siempre cerrar conexiones y flujos, es estrictamente necesario. |