Java EEEclipesからOracleに日付形式を挿入しようとしています。null値を挿入できますが、日付値は挿入できません。日付はコンソールに出力されますが、データベースは更新されません。これが私の質問です:
日付値の挿入:(機能していません) uDate = 20 / Sep / 16のコンソール出力
public void updateUnsubscribe(String empid) {
DateFormat df = new SimpleDateFormat("dd/MMM/yy");
String uDate = df.format(new Date());
String unSub = "udate MYDB set edate ='" + uDate + '" where emp = "empid"';
}
NULL値の挿入:(WORKING) uDate = nullのコンソール出力
public void updateSubscribe(String empid) {
Date toNull = null;
String sub = "udate MYDB set edate ='" + toNull + '" where emp = "empid"';
}
エラーはまったく発生しません。唯一の問題は、日付フィールドに日付が挿入されていないことです。何が足りないのですか?日付フィールドを正しくフォーマットしていませんか?
たとえば、oracle to_date関数を使用して、varcharを日付値に変換できます。
public void updateUnsubscribe(String empid) {
DateFormat df = new SimpleDateFormat("dd/MM/yy");
String uDate = df.format(new Date());
String unSub = "udate MYDB set edate =to_date('" + uDate + ', 'dd/MM/yyyy')" where emp = "empid"';
}
ただし、このタスクにはJDBCPreparedStatementを使用することをお勧めします。
public void updateUnsubscribe(String empid) {
PreparedStatement ps = conn.prepareStatement("update MYDB set edate=? where emp=?");
ps.setTimestamp(1, new java.sql.Timestamp(new Date()));
ps.setString(2, empid);
ps.executeUpdate();
}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加