2017-11-14 14 views
0

アプリケーションでJavaFX JFXDatePickerを使用してデータベースに日付を入力しようとするたびに、しかし、それは常に '1992'として日付を入力します。私は1992年にも選択肢を用意していない。javafxを使用してSQLiteデータベースに日付を保存する間違った

enter image description hereenter image description here

IはDatePicker.getValueを(プリント)正しい日付がコンソールに出力されています。 これはコードです:

public void RemRoom() { 
    Connection con = null; 
    PreparedStatement pst = null; 
    ResultSet rs = null; 
    try { 
     con = DriverManager.getConnection("jdbc:sqlite:Rooms.db"); 
     pst = con.prepareStatement("UPDATE " + tp + " set isAvail = 'false' where RoomID = '" + rm + "'"); 
     pst.execute(); 
     LocalDate sd = ControllerScr2.getInstance().chkIn.getValue(); 
     System.out.println(sd); 
     pst = con.prepareStatement("UPDATE " + tp + " set StartDate = " + sd + " where RoomID = '" + rm + "'"); 
     pst.execute(); 
     pst.close(); 
     con.close(); 
    } catch (SQLException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 
+1

フィールドを操作する方法についていくつかの有用な情報もあります。つまり、日付を直接指定する必要はありませんが、まず正しい形式に変換してください。 この目的のために、 'SQLite'は' julianday'関数を提供します。この関数は日付を含む文字列引数として受け取り、 'REAL'型の値を返します –

答えて

1

は、あなたが選んだ日付の書式を設定しようとしたことがありますか?

myDatePicker.getValue().format(DateTimeFormatter.ofPattern("dd/MM/yyyy")) 

DatePickersあなたは日付が `REAL`ある格納するのに使用here

関連する問題