使用 Spring jdbcTemplate 更新 MS Access 中的日期

发布于 2024-10-30 17:21:42 字数 642 浏览 4 评论 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 });

提前致谢, 桑托什

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

终陌 2024-11-06 17:21:42

Date 是 Jet(Access 数据库引擎)中的关键字,因此需要用方括号对其进行“转义”。此外,日期文字由 # 分隔。我对 Java 不太熟悉,不知道你的日期是否是这样格式化的。

无论如何,你的 sql 字符串需要是这样的:

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

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:

"update timesheet set [date]=#4/5/2011# where task_id=20"
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文