2013-05-05 54 views
-2

我創建使用Microsoft Access我的申請,我用VB 2010年創建時會顯示以下錯誤在不同的計算機上安裝,以保存該文件相關的數據庫文件。將數據保存到Access數據庫使用VB 2010年需要完整的代碼

未處理的異常發生在您的應用程序。如果您單擊繼續,應用程序將忽略此錯誤並嘗試繼續。如果您單擊退出,應用程序將立即關閉。

操作必須使用一個可更新的查詢。

錯誤消息的詳細信息:

System.Data.OleDb.OleDbException (0x80004005):操作必須使用一個可更新的查詢。

任何人都可以解釋我可以保存到數據庫,並防止此錯誤?

+0

我們可以看到導致錯誤的代碼嗎? – user1937198 2013-05-05 10:27:25

回答

0

This website給出爲什麼Access查詢可能無法更新一個很好的總結。在不瞭解你的特定情況的更多細節的情況下,我能做的最好的就是在這裏複製建議,你可以看到這些建議是否適用於你的情況。我最初的猜測是,無法工作的數據庫已經以只讀模式打開,或者在文件上設置了只讀標誌,或者用戶權限不足。

第一步是找出爲什麼查詢不可更新。 以下查詢不可更新:

  • 任何帶有GROUP BY子句的查詢。
  • 任何帶有TRANSFORM子句的查詢。
  • 使用SELECT子句中的聚集函數(SUM(),MAX(),COUNT(),等等)的任何查詢。
  • 任何包含DISTINCT謂詞的查詢。
  • 包含UNION運算符的任何查詢。
  • 在SELECT子句中包含子查詢的任何查詢。
  • 任何SQL傳遞查詢。
  • 基於三個或多個表的任何查詢,那裏是一個多到一個一對多的關係。
  • 任何基於只讀查詢的查詢。

有時候應該是可更新的查詢不是。通常, 以外的查詢是影響:

  • 基礎表可能是隻讀的。或者數據庫以只讀模式打開。
  • 用戶必須有權更新基礎數據。
  • 記錄可能會暫時鎖定。稍後再試。