程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 錯誤“操作必須使用一個可更新的查詢”原因及解決辦法

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

編輯:關於SqlServer
 

有幾個主要的錯誤原因:
  這個錯誤發生在當你的程序試圖執行更新數據庫或其它類似操作時。這是因為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)中的查詢時,在執行這個查詢是會出現該錯誤。

------------------------------------------
如果以上操作都解決不了問題的話,可能是iis出問題了,重啟下iis再試一下,我就是設好權限後重啟iis才生效的

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved