0

我正在使用 MS Access 和 Spring Jbdc 模板。

如果我尝试使用 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 回答