我的ASP網頁中有一段向數據庫插入一條記錄的代碼如下:set rs=server.CreateObject(" cordset")rs.Open "select * from formname",conn,1,3rs.AddNewrs("field1")=trim(request("one"))rs("field2")=trim(request("two"))....rs.Update上面的這段代碼在有的機器上運行非常正常。而在有的機器上運行到rs.AddNew這一行時在瀏覽器中顯示如下錯誤:HTTP 錯誤 500.100 - 內部服務器錯誤 - ASP 錯誤Internet 信息服務技術信息(用于支持人員)錯誤類型:Microsoft JET Database Engine (0x80040E09)不能更新。數據庫或對象為只讀。而將上述代碼改成:set rs=server.CreateObject(" cordset")sql="insert into formname (field1,field2) values ("&request("one")&","&request("two")cn.Open conncn.Execute(sql)這段代碼在任何機器上都正確運行。當數據庫的表中的字段較多時第二種方法顯得語句冗長,第一種方法較為簡練,請高手指點一下,如何設置或者寫代碼,使得第一種方法寫下的代碼在所有機器上都能正確運行。
熱心網友
二種可能,一是數據庫的屬性為:只讀二是數據庫的權限,everyone沒有寫入的權限第一種的解決方法: 右鍵文件夾,-選擇“屬性”,將只讀前面的勾去掉,第一種的解決方法: 右鍵文件夾,選擇“屬性”-“安全”,將“寫入”前面的勾選
熱心網友
把數據庫( b)的安全設置成可以修改的,是因為權限不足引起的
熱心網友
RS。OPEN SQL,CONN,A,B A: ADOPENFORWARDONLY(=0) 只讀,且當前數據記錄只能向下移動 ADOPENSTATIC(=3) 只讀,當前數據記錄可自由移動 ADOPENKEYSET(=1) 可讀寫,當前數據記錄可自由移動 ADOPENDYNAMIC(=2) 可讀寫,當前數據記錄可自由移動,可看到新增記錄ADOPENSTATIC(=4):打開靜態類型的游標 B: ADLOCKREADONLY(=1) 默認值,用來打開只讀記錄 ADLOCKPESSIMISTIC(=2) 保守鎖定 ADLOCKOPTIMISTIC(=3) 開放的鎖定 ADLOCKBATCHOPTIMISTIC(=4) 開放的批更新方式 你可以根據上面的設置自已的方法。例如:rs。open sql,conn,3,3 后面的參數比如rs。Open "select * from formname",conn,3,3 都是由意思的。