JDBC ODBC MS ACCESS 2003 更新查询不会更新寄存器



在 Windows Vista 上使用 Ms Access 2003Java 1.7.0_45 和 NetBeans IDE 7.4

我正在尝试对名为 EMPLOYEE 的表运行一个简单的更新查询

stmt.executeUpdate("UPDATE EMPLOYEES SET Name='John' WHERE Code='A07'");

但是代码为 A07 的员工姓名在数据库中不会更改。

其他查询(插入,选择)工作正常,例如:

 stmt.executeUpdate("INSERT INTO EMPLOYEES VALUES (....)");

 ResultSet rs = stmt.executeQuery("SELECT * FROM " + nombreTabla);

按预期工作。

对于更新,我尝试了不同的东西,但没有一个有效:

  • 对 UPDATE 查询使用 executeQuery 而不是 executeUpdate 引发 SQL 异常:"未生成 ResultSet"

  • 在字段中添加"[ ]"也不会更新记录:

    stmt.executeUpdate("UPDATE EMPLEADOS SET [NAME]='John' WHERE [Code]='A07'");

我以前从未使用过 Access,我不知道我做错了什么。可能是特权问题?在这种情况下,我如何授予更新权限?

更新未写回 Access 数据库的问题通常是由于未通过调用其.Close()方法显式关闭数据库Connection对象而导致的。在 JDBC-ODBC 下,如果连接对象只是在连接仍在.Open()时超出范围,则有时会丢弃挂起的更新。

最新更新