请问为什么在ASP页面中操作ADO会失败,提示“操作必须使用一个可更新的查询。”

sproll sproll 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我的代码是这样的:

'打开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”
...全文
评论 11
收藏 已收藏
分享
返回顶部
sproll
ASP 28,401 成员 356,940 内容