I have used JXDatePicker in my java application and I want to store its value in a MySQL database. The database value to be stored is of date type.
Here is my code:
final JXDatePicker dodc = new JXDatePicker(System.currentTimeMillis());
final SimpleDateFormat formater = new SimpleDateFormat("yyyy/MM/dd");
Date datedodc;
dodc.setBounds(250, 260, 150, 20);
content.add(dodc);
dodc.setForeground(BLACK);
dodc.setBackground(WHITE);
dodc.setFont(new Font("Arial", Font.BOLD, 12));
dodc.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
datedodc = dodc.getDate();
System.out.println(formater.format(dodc.getDate()));
}
});
If I print this value it gives the following output:
Feb 05 00:00:00 IST 2013
I want to store the date type value in mysql with the format: yyyy-mm-dd
How can I do it?
Eclipse gives me the following error when I try to store the values:
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Feb 05 00:00:00 IST 2013,Mon Feb 18 00:00:00 IST 2013,'Gujju Enterprise',4,'faaf' at line 1
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:936)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2934)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1616)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1708)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3249)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1350)
at com.mysql.jdbc.Statement.executeUpdate(Statement.java:1266)
at inwardRecord.save(inwardRecord.java:379)
at inwardRecord.actionPerformed(inwardRecord.java:304)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Feb 05 00:00:00 IST 2013,Mon Feb 18 00:00:00 IST 2013,'Gujju Enterprise',4,'faaf' at line 1
Try:
DateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
jXDatePicker1.setFormats(dateFormat);
DateFormat sysDate = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
String date_to_store = sysDate.format(jXDatePicker1.getDate()).toString();
This will give you jXDatePicker1
(declaration and initilization not included here) input as properly formatted String date_to_store
output to store in mySQL.
Try this:
DateFormat format = new SimpleDateFormat("yyyy-MM-dd");
dateString = format.format(date.getDate());
Try this approach :
int selectedYear = (int) datePicker.getModel().getYear();
int selectedMonth = (int) datePicker.getModel().getMonth();
int selectedDay = (int) datePicker.getModel().getDay();
String selectedDate = selectedYear +"-"+selectedMonth+"-"+selectedDay;
You can now store the selectedDate
in your database.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.