程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 為什麼ASP中執行動態SQL總報錯誤信息?提示語句語法錯誤

為什麼ASP中執行動態SQL總報錯誤信息?提示語句語法錯誤

編輯:關於ASP編程
問:為什麼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凡人網絡 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved