How to add a date from Java to a sql

0

I am generating a maintenance of a SQL database, I have the button to add which has the following configuration:

private void btModificarActionPerformed(java.awt.event.ActionEvent evt) {                                            
        // TODO add your handling code here:
        if (this.validarDatos()) {
            Paciente pac = new Paciente();
            pac.setnum_asegurado(Integer.parseInt(txtnum_asegurado.getText()));
            pac.setNombre(txtNombre.getText());
            pac.setDireccion(txtDireccion.getText());
            pac.setEdad(Integer.parseInt(txtEdad.getText()));
            try {
                SimpleDateFormat formato = new SimpleDateFormat("YYYY/MM/dd");
                String fecha = formato.format(pac.getfecha_nacimiento());
               // pac.setfecha_nacimiento((Date) new SimpleDateFormat ("YYYY/MM/dd").parse(txtfecha_nacimiento.getText()));

            } catch (Exception ex) {
                ex.printStackTrace();
            }
            pac.sete_mail(txte_mail.getText());
            pac.setTelefono(Integer.parseInt(txtTelefono.getText()));
            pac.setProfesion(txtProfesion.getText());
            int res = this.pacBo.modificar(pac);
            switch (res) {
                case 0: JOptionPane.showMessageDialog(null, "Paciente Modificado Correctamente.");
                  break;
                case 1: JOptionPane.showMessageDialog(null, "No se pudo conectar a la BD.");
                  break;
                case 2: JOptionPane.showMessageDialog(null, "Problemas Almancenando Datos.");
                  break;  
                case 3: JOptionPane.showMessageDialog(null, "Error Modificando Datos en la BD.");
                  break;  
            }
            llenarTabla();
            limpiar();
        }

Send me this error:

  

java.lang.NullPointerException       at java.util.Calendar.setTime (Calendar.java:1770)       at java.text.SimpleDateFormat.format (SimpleDateFormat.java:943)       at java.text.SimpleDateFormat.format (SimpleDateFormat.java:936)       at java.text.DateFormat.format (DateFormat.java:345)       at windows.MantPaciente.btModificarActionPerformed (MantPaciente.java:395)       at windows.MantPaciente.access $ 200 (MantPaciente.java:23)       at windows.MantPaciente $ 4.actionPerformed (MantPaciente.java:185)       at javax.swing.AbstractButton.fireActionPerformed (AbstractButton.java:2022)       at javax.swing.AbstractButton $ Handler.actionPerformed (AbstractButton.java:2348)       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:6533)       at javax.swing.JComponent.processMouseEvent (JComponent.java:3324)       at java.awt.Component.processEvent (Component.java:6298)       at java.awt.Container.processEvent (Container.java:2236)       at java.awt.Component.dispatchEventImpl (Component.java:4889)       at java.awt.Container.dispatchEventImpl (Container.java:2294)       at java.awt.Component.dispatchEvent (Component.java:4711)       at java.awt.LightweightDispatcher.retargetMouseEvent (Container.java:4888)       at java.awt.LightweightDispatcher.processMouseEvent (Container.java:4525)       at java.awt.LightweightDispatcher.dispatchEvent (Container.java:4466)       at java.awt.Container.dispatchEventImpl (Container.java:2280)       at java.awt.Window.dispatchEventImpl (Window.java:2746)       at java.awt.Component.dispatchEvent (Component.java:4711)       at java.awt.EventQueue.dispatchEventImpl (EventQueue.java:758)       at java.awt.EventQueue.access $ 500 (EventQueue.java:97)       at java.awt.EventQueue $ 3.run (EventQueue.java:709)       at java.awt.EventQueue $ 3.run (EventQueue.java:703)       at java.security.AccessController.doPrivileged (Native Method)       at java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80)       at java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:90)       at java.awt.EventQueue $ 4.run (EventQueue.java:731)       at java.awt.EventQueue $ 4.run (EventQueue.java:729)       at java.security.AccessController.doPrivileged (Native Method)       at java.security.ProtectionDomain $ JavaSecurityAccessImpl.doIntersectionPrivilege (ProtectionDomain.java:80)       at java.awt.EventQueue.dispatchEvent (EventQueue.java:728)       at java.awt.EventDispatchThread.pumpOneEventForFilters (EventDispatchThread.java:201)       at java.awt.EventDispatchThread.pumpEventsForFilter (EventDispatchThread.java:116)       at java.awt.EventDispatchThread.pumpEventsForHierarchy (EventDispatchThread.

How can I modify this to accept the format of the date! in the database sql appears (YYYY-MM-dd)

    
asked by Felix mejias 28.11.2017 в 04:21
source

1 answer

0

The problem seems to be that in the following sentence:

String fecha = formato.format(pac.getfecha_nacimiento());

... you are passing null to the format method. That is, pac.getfecha_nacimiento() returns null , which seems normal to me, since you just created a new instance of Paciente .

Looking at the rest of the program, it seems that instead of pac.getfecha_nacimiento() , you should be passing it the value of some textbox, maybe txtfecha_nacimiento.getText() that you have in the commented portion of code?

String fecha = formato.format(txtfecha_nacimiento.getText());
    
answered by 28.11.2017 в 04:29