使用 Spring jdbcTemplate 更新 MS Access 中的日期
我正在使用 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 });
提前致谢, 桑托什
I'm using MS Access and Spring Jbdc Template.
Where If I try to update the date in table using jdbctemplate it giving me error
"Caused by: java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement."
This is the code:
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 });
Thanks in Advance,
Santhosh
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Date
是 Jet(Access 数据库引擎)中的关键字,因此需要用方括号对其进行“转义”。此外,日期文字由#
分隔。我对 Java 不太熟悉,不知道你的日期是否是这样格式化的。无论如何,你的 sql 字符串需要是这样的:
Date
is a keyword in Jet (the Access db engine) so it needs to be "escaped" with square brackets. Also, date literals are delimited by#
's. I'm not familiar enough with Java to know if your date is being formatted that way.In any case, your sql string needs to be something like this: