我正在用我从数据库中获取的数据集做一些计算。空值会产生错误,所以我尝试用零(0)替换空值。这是我遇到的错误,
ADODB.Recordset错误“800a0cb3”
当前记录集不支持更新。这可能是提供程序或所选锁类型的限制。
以前从没见过。这是我的密码。
If IsNull(objRevenueToday("REVENUE")) Then
objRevenueToday("REVENUE") = 0
End If
发布于 2009-07-06 17:14:29
您的记录集似乎是只读的。这可能有很多原因;您正在读取包含Group子句的视图,您没有权限,等等。
发布于 2016-11-24 05:48:17
使用语法,Set Recordset = Command.Execute
总是打开只读游标。您需要做的是使用Recordset
对象打开游标。Source
方法的Open
参数是Command
对象。这允许您设置所需的位置和锁类型。
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.
发布于 2009-07-06 17:23:07
以下是解决办法:
If IsNull(objRevenueToday("REVENUE")) Then
RevenueToday = "0"
Else
RevenueToday = objRevenueToday("REVENUE")
End If
不太理想,但纠正了我的错误。
https://stackoverflow.com/questions/1088059
复制相似问题