0

プログラムでSQLステートメントを使用しています。

stringBuffer sql=new StringBuffer();
sql.append("insert into customer (id,createddate) ");
sql.append("values (1,");
sql.append("'"+new Timestamp(System.currentTimeMillis())+"'");

String results=jdbcTemplate.update(sql.toString();

上記のコマンドを実行すると、この例外が発生しましたネストされた例外はjava.sql.SQLExceptionです:ORA-01843:有効な月ではありません

現在の日付をバインドする必要があります。この問題を解決するにはどうすればよいですか。

ありがとう。

4

1 に答える 1

4

DBの日付を使用できる場合は、次を使用しますsysdate

stringBuffer sql=new StringBuffer();
sql.append("insert into customer (id,createddate) ");
sql.append("values (1,sysdate)");

to_dateまたは、クエリ に a を追加できます。

stringBuffer sql=new StringBuffer();
sql.append("insert into customer (id,createddate) ");
sql.append("values (1,to_date(");
sql.append("'"+<your TimeStamp converted to a String like yyyyMMddHHmmss>+"', 'yyyymmddhh24miss'");

または、こちらのようにPreparedStatementを使用します

于 2012-05-07T09:53:11.860 に答える