2011-04-05 45 views
0

我正在使用MS Access和Spring Jbdc模板。在MS Access中使用Spring更新日期jdbcTemplate

在哪裏。如果我嘗試使用的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 }); 

由於事先 Santhosh

回答

1

Date是Jet(Access數據庫引擎)中的關鍵字,因此需要用方括號「轉義」。另外,日期文字由#定界。我對Java不熟悉,不知道你的日期是否被這樣格式化。

在任何情況下,你的SQL字符串必須是這樣的:

"update timesheet set [date]=#4/5/2011# where task_id=20"