我尝试通过update参数更新记录集,代码运行良好,但更新记录仍然相同。
代码:
With mMails
.LEVEL1 = cTagLevel1
.MAIN_TAG = cTagLevel2
.DETAILED_TAG = cTagLevel3
.FIELD_TAG = cTagField
.INSIGHT = cTagInsight
.BRANCH = cTagBranch
.DataSource.Commit
End With
并提交子:
Public Sub Commit()
mRst.Update
End Sub
和连接:
Set mRst = New ADODB.Recordset
Set mRst.SOURCE = pCmd
mRst.CursorLocation = adUseClient
mRst.CursorType = adOpenStatic
mRst.LockType = adLockBatchOptimistic
mRst.Open
If Not (pAccessMode = AccessMode_ReadOnly) Then
Set mCn = pCmd.ActiveConnection
End If
Set mRst.ActiveConnection = Nothing
所有带有mMails的值都是正确的,但更新不起作用。我做错了什么?当我尝试使用UpdateBatch时,更新需要更改整行,而不仅仅是选择...
Sry for my English :)非常感谢你的帮助!
答案 0 :(得分:0)
我看到你使用静态游标:“一组记录的静态副本,可用于查找数据或生成报告。其他用户的添加,更改或删除不可见。”
我认为你应该使用动态光标:“其他用户的添加,更改和删除都是可见的,并且允许通过Recordset进行所有类型的移动。”
请注意静态游标说明中的“复制”一词:您正在对副本进行更改,但副本不会保存在数据库中。
您还可能需要将CursorLocation
属性更改为adUseServer
:“如果CursorLocation属性设置为adUseClient
,则CursorType
属性的唯一有效设置为adOpenStatic
”。