2015-07-10 61 views
0

我有一个DatePicker设置为JavaFX,我试图将日期选择器中的选定日期存储到一个mySQL表与日期列。JDBC JAVAFX日期准备语句

我有如下,但DatePicker.getValue()返回选定的日期为一长。

preparedStatement.setDate(1, DatePicker.getValue());  

我如何获取datePicker的值是以日期格式存储在mySQL日期列中。

回答

2

方法DatePicker.getValue返回java.time.LocalDate,方法PreparedStatement.setDate预计java.sql.Date。您需要将LocalDate转换为java.sql.Date。要做到这一点,你可以使用的方法java.sql.Date.valueOf(LocalDate)

preparedStatement.setDate(1, java.sql.Date.valueOf(DatePicker.getValue())); 

如果你的JDBC驱动程序正确实现JDBC 4.2 java.time支持,那么你也应该能够使用:

preparedStatement.setObject(1, DatePicker.getValue()); 

但是据我我知道这些支持在大多数JDBC驱动程序中仍然很脆弱或不存在。

为了让您的生活更轻松(而不必等待有人回答您的SO问题):当您读取(研究)所涉及的类的API文档(以及返回和参数类型的API文档)时,您可以自己找到了答案。