我为JavaFX设置了DatePicker,我试图将日期选择器中的选定日期存储到带有日期列的mySQL表中。

我有以下内容,但是DatePicker.getValue()返回选择的日期长。

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


如何获取datePicker的值,使其具有符合资格存储在mySQL date列中的日期格式。

最佳答案

方法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文档)时,您可能会找到答案。你自己

10-01 22:49
查看更多