問:為什麼ASP中執行動態SQL總報錯誤資訊?提示句語法錯誤
答:
有時候寫ASP用conn.execute(sql)查詢、更新、插入Access資料庫資料時,明明正確的語句卻往往會顯示sql語句錯誤,相當惱火,特進行了歸納,可適當為欄位添加“[”、“]”解決:
複製代碼 代碼如下:例1:select * from a
如出現錯誤,可改為:select * from [a]
例2:UPDATE [user] SET password = '"&data1&"' where secname='"&data2&"'"
如出現錯誤,可改為:UPDATE [user] SET [password] = '"&data1&"' where secname='"&data2&"'"
例3:INSERT INTO mybook ( name, by, mobile ) VALUES ('"&data1&"','"&data2&"','"&data3&"')"
如出現錯誤,可改為:
INSERT INTO mybook ( [name], [by], [mobile] ) VALUES ('"&data1&"','"&data2&"','"&data3&"')"
問:為什麼運行時總是提示“Microsoft JET database Engine (0X80040E09)”不能更新,資料庫或對象為唯讀? 複製代碼 代碼如下:答:
在windows+iis伺服器上運行asp程式可能會出現資料庫無法更新的情況,具體錯誤資訊可能為:
1、Microsoft JET Database Engine (0x80040E09) 不能更新。資料庫或對象為唯讀
2、Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必須使用一個可更新的查詢。
3、Microsoft JET Database Engine (0x80004005) 操作必須使用一個可更新的查詢。
解決辦法有以下幾種(針對不同的伺服器可能解決辦法不一樣,在這裡假設網站主目錄為wwwroot):
A、在wwwroot檔案夾上面點擊右鍵-“屬性”-取消“唯讀”
此方法最簡單、偶爾有效
B、在您的資料庫檔案上檔案夾上面點擊右鍵-“屬性”-“安全”-添加使用者:“IUSR_電腦名稱” 並開放“IUSR_電腦名稱”的讀取、寫入許可權
此方法是目前解決這個問題最好的辦法,一般都可以解決問題
XP系統下可能點擊右鍵看不到“安全”選項,請先開啟“工具”-“檔案夾選項”-“查看”-取消“使用簡單檔案分享權限設定(推薦)” 然後即可在屬性中找到“安全”選項
C、在wwwroot檔案夾上面點擊右鍵-“屬性”-“web共用”-“共用資料夾”
D、這是目前解決這個問題的幾種辦法,如果網友還有什麼補充請聯http://www.venshop.com凡人網路