
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 {
        public final String DRIVER = "org.apache.derby.jdbc.EmbeddedDriver";
        public final String JDBC_URL = "jdbc:derby:zadb;create=true";
        public final String SQL_STATEMENT = "select * from citas";
        public Statement statement;
        public void conexion() throws ClassNotFoundException, SQLException {
        Class.forName(DRIVER);
        Connection connection = DriverManager.getConnection(JDBC_URL);
        Statement statement = connection.createStatement();
        try{
            ResultSet resultSet = statement.executeQuery(SQL_STATEMENT);
        }catch(SQLException e){
            connection.createStatement().execute("CREATE TABLE citas(nombre varchar(20),apellidos varchar(20), dia varchar(20), hora varchar(20), motivo varchar(255))");
            ResultSet resultSet = statement.executeQuery(SQL_STATEMENT);
        }
    }
} Insercción de Datos
Código:
public class saveData {
    derbinterfaz.DerbInterfaz bd = new derbinterfaz.DerbInterfaz();
    public void registrar_datos(){
        try{
            bd.conexion();
            bd.statement.execute("INSERT INTO citas(nombre, apellidos, dia, hora, motivo)VALUES('ad','ad','ad','ad','ad')");
        }catch(ClassNotFoundException | SQLException e){
            JOptionPane.showMessageDialog(null, "No se han podido guardar los datos","Error",JOptionPane.PLAIN_MESSAGE);
        }
    }
}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
at derbinterfaz.saveData.registrar_datos(saveData.java:11)
at derbinterfaz.interfaz.jButton1ActionPerformed(interfaz.java:130)
at derbinterfaz.interfaz.access$100(interfaz.java:5)
at derbinterfaz.interfaz$2.actionPerformed(interfaz.java:54)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)......
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


 
  




 Autor
 Autor
		



 En línea
									En línea
								



 
						