[英]JDBC ODBC MS Access 2003 Update query does not update register
在Windows Vista Java 1.7.0_45和NetBeans IDE 7.4上使用Ms Access 2003
我正在嘗試在名為EMPLOYEES的表上運行一個簡單的UPDATE查詢
stmt.executeUpdate("UPDATE EMPLOYEES SET Name='John' WHERE Code='A07'");
但是,代碼為A07的員工名稱在數據庫中未更改。
其他查詢(INSERT,SELECT)工作正常,例如:
stmt.executeUpdate("INSERT INTO EMPLOYEES VALUES (....)");
要么
ResultSet rs = stmt.executeQuery("SELECT * FROM " + nombreTabla);
按預期工作。
對於UPDATE,我嘗試了不同的方法,但沒有一個起作用:
使用executeQuery而不是executeUpdate進行UPDATE查詢會引發SQL異常:“未生成ResultSet”
在字段中添加“ []”也不會更新記錄:
stmt.executeUpdate(“ UPDATE EMPLEADOS SET [名稱] ='John',[代碼] ='A07'”);
我以前從未使用過Access,我不知道自己在做什么錯。 可能是特權問題? 在這種情況下,如何授予更新權限?
經常發現未將更新寫回Access數據庫的問題是由於未通過調用數據庫的.Close()
方法顯式關閉數據庫Connection
對象而導致的。 在JDBC-ODBC下,如果在連接仍為.Open()
時連接對象只是超出范圍,則有時會丟棄掛起的更新。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.