首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ADO错误“当前记录集不支持更新。这可能是提供程序或所选锁类型的限制。

ADO错误“当前记录集不支持更新。这可能是提供程序或所选锁类型的限制。
EN

Stack Overflow用户
提问于 2009-07-06 16:55:52
回答 5查看 14K关注 0票数 1

我正在用我从数据库中获取的数据集做一些计算。空值会产生错误,所以我尝试用零(0)替换空值。这是我遇到的错误,

ADODB.Recordset错误“800a0cb3”

当前记录集不支持更新。这可能是提供程序或所选锁类型的限制。

以前从没见过。这是我的密码。

代码语言:javascript
运行
复制
If IsNull(objRevenueToday("REVENUE")) Then
    objRevenueToday("REVENUE") = 0
End If
EN

回答 5

Stack Overflow用户

发布于 2009-07-06 17:14:29

您的记录集似乎是只读的。这可能有很多原因;您正在读取包含Group子句的视图,您没有权限,等等。

票数 2
EN

Stack Overflow用户

发布于 2016-11-24 05:48:17

使用语法,Set Recordset = Command.Execute总是打开只读游标。您需要做的是使用Recordset对象打开游标。Source方法的Open参数是Command对象。这允许您设置所需的位置和锁类型。

代码语言:javascript
运行
复制
Dim cmdProc as ADODB.Command
Dim rsData as ADODB.Recordset

Set cmdProc = New ADODB.Command
With cmdProc
Set .ActiveConnection = SomeConnection
.CommandType = adCmdStoredProc
.CommandText = "selCustomer"
' ... Create parameters
End With

Set rsData as New ADODB.Recordset
rsData.Open cmdProc,, adOpenStatic,adLockBatchOptimistic 
'...Process recordset data.
票数 1
EN

Stack Overflow用户

发布于 2009-07-06 17:23:07

以下是解决办法:

代码语言:javascript
运行
复制
If IsNull(objRevenueToday("REVENUE")) Then
RevenueToday = "0"
Else
RevenueToday = objRevenueToday("REVENUE")
End If

不太理想,但纠正了我的错误。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1088059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档