2015-07-10 86 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文檔)時,您可以自己找到了答案。