
insertar fecha en BD con un Jchooser
Publicado por Maria del Rosario (4 intervenciones) el 26/10/2017 19:56:37
Buen dia!!!! Tengo una gran duda, no se como guardar en mi BD en MySQL la fecha que selecciono en un jChooser en java
El campo fecha lo tengo definido como (DATE) en mi BD, en java inserte un Jchooser para elegir lafecha, pero a la hora de insertarla en la base de datos no me deja.
Este es mi codigo de la clase para insertar
y este el codigo del boton para guardar
estos son los errores que me manda
La conexión esta muy bien, así que yo supongo que porque en el formato de la BD tengo ("año-mes-dia") y el Jchooser me lo registra como (""Dia/mes/año), pero no se como cambiarle el formato, me podrian ayudar??? porfi
El campo fecha lo tengo definido como (DATE) en mi BD, en java inserte un Jchooser para elegir lafecha, pero a la hora de insertarla en la base de datos no me deja.
Este es mi codigo de la clase para insertar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public void guardar_user(Connection conexion, Usuarios usuarios) throws SQLException{
try{
PreparedStatement consulta;
consulta = conexion.prepareStatement("INSERT INTO " + this.tabla + "(Nombre_user, Ap_user, Am_user, Fereg_user) VALUES(?, ?, ?, ?, ?, ?)");
consulta.setString(1, usuarios.getNombre_user());
consulta.setString(2, usuarios.getAp_user());
consulta.setString(3, usuarios.getAm_user());
consulta.setDate(6, (Date) usuarios.getFereg_user());
consulta.executeUpdate();
}catch(SQLException ex){
throw new SQLException(ex);
}
}
y este el codigo del boton para guardar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void Boton_AgregarActionPerformed(java.awt.event.ActionEvent evt) {
String Nombre_user = Jtext_Nombre.getText();
String Ap_user = Jtext_Ap1.getText();
String Am_user = Jtext_Ap2.getText();
Date Fereg_user = Date_Fechareg.getDate();
this.usuarios.setNombre_user(Nombre_user);
this.usuarios.setAp_user(Ap_user);
this.usuarios.setAm_user(Am_user);
this.usuarios.setFereg_user(Fereg_user);
try{
this.usuarios_servicio.guardar_user(Conexion.obtener(), this.usuarios);
Agregar_usuario.this.dispose();
}catch(SQLException ex){
System.out.println(ex.getMessage());
JOptionPane.showMessageDialog(this, "Ha surgido un error y no se ha podido guardar el registro.");
}catch(ClassNotFoundException ex){
System.out.println(ex);
JOptionPane.showMessageDialog(this, "Ha surgido un error y no se ha podido guardar el registro.");
}
}
estos son los errores que me manda
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException: java.util.Date cannot be cast to java.sql.Date
at servicios.Usuarios_servicio.guardar_user(Usuarios_servicio.java:35)
at reportes.Agregar_usuario.Boton_AgregarActionPerformed(Agregar_usuario.java:378)
at reportes.Agregar_usuario.access$400(Agregar_usuario.java:23)
at reportes.Agregar_usuario$5.actionPerformed(Agregar_usuario.java:143)
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.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
La conexión esta muy bien, así que yo supongo que porque en el formato de la BD tengo ("año-mes-dia") y el Jchooser me lo registra como (""Dia/mes/año), pero no se como cambiarle el formato, me podrian ayudar??? porfi
Valora esta pregunta


0