私は助けが必要です。私はデータベースにdatetime値を格納したいが、というメソッドのタイムスタンプはdatetime引数には適用されず、おそらくpreparedstatementコード ".setTimestamp"を参照しているという。私は、SWT Datetimeウィジェットを使用して開始日を取得しますが、準備されたステートメントに入れることはできません。 SWTウィジェットからのdatetime値は、指定されたパラメーターに渡されます。SWTウィジェット日時をmariadbに挿入
public void addLeave(String leaveType, DateTime start, DateTime end, int halfDay){
try{
Connection con = getConnection();
String sql = "INSERT into leaves(user_id, leaves_type, leaves_halfDay,leaves_startDate, leaves_endDate) VALUES(?,?,?,?,?)";
PreparedStatement addLeave = con.prepareStatement(sql);
addLeave.setString(1, Pkey);
addLeave.setString(2, leaveType);
addLeave.setInt(3, halfDay);
addLeave.setTimestamp(4, start);
addLeave.setTimestamp(5, end);
addLeave.execute();
}catch(Exception e){
e.printStackTrace();
}
}
'setTimestamp'は' java.sql.Timestamp'値を望んでいない 'org.eclipse.swt .widgets.DateTime'。値を変換する必要があります。 –
よろしくお願いいたします。 swt datetimeクラスにはgetYear、getDay()などのメソッドがあり、私は手動でそれを変換することを提案していると考えています。 – Jlorenz1