操作必須使用一個可更新的查詢通常是一個只有在ACCESS數據庫才會出現的錯誤提示,出現操作必須使用一個可更新的查詢這一個錯誤提示,通常是因為數據庫被寫入了一個沒有寫入權限的臨時文件,而出現的。當然,出現操作必須使用一個可更新的查詢這一個問題也并不是單單只有這一個原因。接下來,小編就來給大家說說操作必須使用一個可更新的查詢出現的大概原因以及解決方法吧。
【資料圖】
錯誤原因
這個錯誤發生在當你的程序試圖執行更新數據庫或其它類似操作時。這是因為ADO由于以下的幾個原因而不能夠寫數據庫造成的。1。一般的原因都是匿名用戶帳號(IUSR_MACHINE)對該數據庫文件沒有寫權限。2。第二個原因是數據庫沒有使用正確的模式打開。還有可能是在ODBC管理器中將該DSN的只讀選項選中。當你使用了一個從低版本中(如ACCESS2.0,ACCESS7.0)載入到高版本(ACCESS 2000)中的查詢時,在執行這個查詢是會出現該錯誤
解決方法
解決方法一:針對第一個錯誤原因,要解決這個問題,在管理器中調整數據庫文件的屬性,讓匿名用戶有正確的權限。當使用ACCESS數據庫時,不僅要給文件寫的權限,還要給該目錄寫的權限,因為Jet需要在該目錄建立一個.ldb文件[NTFS硬盤格式才會出現,FAT格式的不會出現權限問題]。或是在IIS中設置一個有讀取寫入權限的匿名帳戶.
解決方法二:針對第二個錯誤原因,我們應該使用下面的方法打開。
SQL = "UPDATE Products Set UnitPrice =2;"
Set Conn =Server.CreateObject("ADODB.Con nec tion")
Conn.Mode = 3 ''3 = adModeReadWrite
Conn.Open "myDSN"
Conn.Execute(SQL)
Conn.Close
注意默認的Mode是設置0(adModeUnknown),它是允許更新的。
解決方法三:你是在同時更新兩個表中的字段,也會出現這個錯誤信息,解決辦法是分開來更新這兩個表中各自字段。
解決方法四:如果是winXP系統,在文件夾選項里面默認使用簡單共享(推薦),把Everyone這個選項去掉,再在文件夾上右鍵點擊,就會出現安全這個選項卡,原來默認的沒有,然后在安全選項卡里面可以設置用戶的寫入權限了右擊數據庫>安全>everyone>將需要的勾上。
總結 :小編在上文中為大家列出了出現操作必須使用一個可更新的查詢這一個問題的各種原因。各位可以通過對照以上的不同原因,找出自己出現這個問題的出處。同時,大家也可以根據不同原因造成的問題,對應相關的方法來找出解決方法。操作必須使用一個可更新的查詢不過是一個非常正常的問題,因此大家下次再遇到的時候,大可不必慌張。