?? “操作必須使用一個可更新的查詢”原因及解決辦法.txt
字號:
錯誤“操作必須使用一個可更新的查詢”原因及解決辦法
--------------------------------------------------------------------------------
【batman】 于 99-8-8 下午 04:24:02 加貼在 Joy ASP ↑:
翻譯得比較匆忙,呵呵。
錯誤信息:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access 97 Driver] Operation must use an
updateable query.
原因:
有幾個主要的錯誤原因:
這個錯誤發(fā)生在當(dāng)你的程序試圖執(zhí)行更新數(shù)據(jù)庫或其它類似操作時。這是因為
ADO由于以下的幾個原因而不能夠?qū)憯?shù)據(jù)庫造成的。
1。最普遍的原因是匿名用戶帳號(IUSR_MACHINE)對該數(shù)據(jù)庫文件沒有寫權(quán)限。
要解決這個問題,在管理器中調(diào)整數(shù)據(jù)庫文件的屬性,讓匿名用戶有正確的權(quán)限。
當(dāng)使用ACCESS數(shù)據(jù)庫時,不僅要給文件寫的權(quán)限,還要給該目錄寫 的權(quán)限,因為
Jet需要在該目錄建立一個.ldb文件。
2。第二個原因是數(shù)據(jù)庫沒有使用正確的模式打開。應(yīng)該使用下面的方法打開。
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
注意默認(rèn)的Mode是設(shè)置0(adModeUnknown),它是允許更新的。
3。還有可能是在ODBC管理器中將該DSN的只讀選項選中。
4。你是在同時更新兩個表中的字段,也會出現(xiàn)這個錯誤信息,解決辦法是分開來更新
這兩個表中各自字段。
5。當(dāng)你使用了一個從低版本中(如ACCESS2.0,ACCESS7.0)載入到高版本(ACCESS 2000)
中的查詢時,在執(zhí)行這個查詢是會出現(xiàn)該錯誤。
--------------------------------------------------------------------------------
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -