質問: CTです。よろしくお願いします。 Oracleの Date項目に年月日時分秒データを入れる必要があり,PreparedStatement.setDate() で java.sql.Date 型のオブジェクトを設定しました。 設定自体はうまく行くのですが,DBに保存されているデータは,年月日のみで,時分秒は 全て0 になってします。 ( setDate に渡す Dateオブジェクトは,時分秒が入っている事をJava上で確認しています。) PreparedStatement.setDate() を使用せず,PreparedStatement.setString( 1, TO_DATE( ) ) とすると,ORA-01841 が出てきて動きません。 ちなみに,PreparedStatement を使用せず,文字列でSQLを組み立てた場合(TO_DATE()を利用)は,時分秒まで正しくデータ登録ができています。 もし,どなたか情報をお持ちでしたら,アドバイス,指摘をお願いします。
回答: 自己レスです。 PreparedStatement.setObject( 1, new Timestamp( date.getTime() ) として解決できました。 ありがとうございました。