錯誤 操作必須使用乙個可更新的查詢 原因及解決辦法

2021-04-01 16:53:57 字數 1030 閱讀 1952

錯誤資訊:

microsoft ole db provider for odbc drivers error '80004005'

[microsoft][odbc microsoft access 97 driver] operation must use an

updateable query.

或者是:

microsoft jet database engine (0x80004005)

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

原因:有幾個主要的錯誤原因:

這個錯誤發生在當你的程式試圖執行更新資料庫或其它類似操作時。這是因為

ado由於以下的幾個原因而不能夠寫資料庫造成的。

1。最普遍的原因是匿名使用者帳號(iusr_machine)對該資料庫檔案沒有寫許可權。

要解決這個問題,在管理器中調整資料庫檔案的屬性,讓匿名使用者有正確的許可權。

當使用access資料庫時,不僅要給檔案寫的許可權,還要給該目錄寫 的許可權,因為

jet需要在該目錄建立乙個.ldb檔案。

2。第二個原因是資料庫沒有使用正確的模式開啟。應該使用下面的方法開啟。

sql = "update products set unitprice = 2;"

set conn = server.createobject("adodb.connection")

conn.mode = 3 '3 = admodereadwrite

conn.open "mydsn"

conn.execute(sql)

conn.close

注意預設的mode是設定0(admodeunknown),它是允許更新的。

3。還有可能是在odbc管理器中將該dsn的唯讀選項選中。

4。你是在同時更新兩個表中的字段,也會出現這個錯誤資訊,解決辦法是分開來更新

這兩個表中各自字段。

5。當你使用了乙個從低版本中(如access2.0,access7.0)載入到高版本(access 2000)

中的查詢時,在執行這個查詢是會出現該錯誤。

asp 錯誤提示 操作必須使用乙個可更新的查詢

今天咋一看到 操作必須使用乙個可更新的查詢 開始根本不知道這是什麼意思,到底和什麼有關係,經過翻閱資料,終於找到原因,並且解決了問題,下面來分析一下產生這個錯誤的原因 有幾個主要的錯誤原因 這個錯誤發生在當你的程式試圖執行更新資料庫或其它類似操作時。這是因為 ado由於以下的幾個原因而不能夠寫資料庫...

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

錯誤 操作必須使用乙個可更新的查詢 原因及解決辦法 翻譯得比較匆忙,呵呵。錯誤資訊 microsoft ole db provider for odbc drivers error 80004005 microsoft odbc microsoft access 97 driver operatio...

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

有幾個主要的錯誤原因 這個錯誤發生在當你的程式試圖執行更新資料庫或其它類似操作時。這是因為 ado由於以下的幾個原因而不能夠寫資料庫造成的。1。最普遍的原因是帳號 iusr machine 對該資料庫檔案沒有寫許可權。要解決這個問題,在管理器中調整資料庫檔案的屬性,讓有正確的許可權。當使用acces...