请问为什么在ASP页面中操作ADO会失败,提示“操作必须使用一个可更新的查询。”
我的代码是这样的:
'打开ACCESS数据库
strCnnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Request.ServerVariables("APPL_PHYSICAL_PATH") & "ASPDB.mdb;Persist Security Info=False"
Set cnnQuery = server.CreateObject("ADODB.Connection")
cnnQuery.Mode = 3'adModeReadWrite
cnnQuery.CursorLocation = 3'adUseClient
cnnQuery.Open strCnnStr
'打开用户表
Set rstMachine= server.CreateObject("ADODB.Recordset")
rstMachine.Open "SELECT * FROM MACHINE WHERE MACHINENAME='" & strMachineName & "'", cnnQuery, 2, 3, 1 ‘adOpenDynamic,adLockOptimistic,adCmdText
if rstMachine.RecordCount = 1 then
rstMachine.Fields("MACHINEIP") = strMachineIP
rstMachine.Update
nState = 0
elseif rstMachine.RecordCount = 0 then
nState = 1
elseif rstMachine.RecordCount > 1 then
nState = 2
elseif rstMachine.RecordCount < 0 then
nState = 3
end if
rstMachine.Close
cnnQuery.Close
ASP页面执行的结果是:
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.asp,行242
Microsoft JET Database Engine 错误 '80004005'
操作必须使用一个可更新的查询。
/Default.asp,行37
行37就是“rstMachine.Update”