0

MS Access と Spring Jbdc Template を使用しています。

jdbctemplate を使用してテーブルの日付を更新しようとすると、エラーが発生します

"Caused by: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement."

これはコードです:

Calendar cal = Calendar.getInstance();
java.sql.Date sqlDate = new java.sql.Date(cal.getTime().getTime());

JdbcTemplate jdbcTemplate = new JdbcTemplate(ds);
int id = jdbcTemplate
   .queryForInt("select TASK_ID from timesheet where task_id=1");
jdbcTemplate.update("update timesheet set date=? where task_id=20",
                     new Object[] { sqlDate });

前もって感謝します、サントッシュ

4

1 に答える 1

1

Dateは Jet (Access db エンジン) のキーワードであるため、角かっこで「エスケープ」する必要があります。#また、日付リテラルは'sで区切られます。あなたの日付がそのようにフォーマットされているかどうかを知るには、私は Java に精通していません。

いずれにせよ、SQL 文字列は次のようにする必要があります。

"update timesheet set [date]=#4/5/2011# where task_id=20"
于 2011-04-05T19:45:28.743 に答える