【发布时间】:2011-06-13 17:05:24
【问题描述】:
所以我对 Visual Basic 还是很陌生,并且继承了我现在需要处理的这个 VB6 代码。现在,我正在尝试使用 ADODB.RecordSet 更新 SQL 数据库。我有一个 Select SQL 语句,它将正确的数据从数据库中提取到 ADODB.RecordSet 中,但是我在更新所有行时遇到了问题。我想要做的是用相同的值更新每一行的同一列。现在,它正在更新一些记录,但我弹出一个错误。我得到的错误是:
运行时错误 3021:BOF 或 EOF 为 True 或当前记录已 删除。请求的操作需要 当前记录。
当我点击调试时,它会将我带到 rsUpdate.fields(TargetFieldName) = value
项目本身很大,无法发布,但我现在正在处理的代码部分是这样的:
If rsUpdate.State = adStateOpen Then
If rsUpdate.EOF Then
rsUpdate.Close
Exit Function
End If
rsUpdate.MoveFirst
Dim i as Integer
For i = 0 To rsUpdate.recordCount
rsUpdate.fields(TargetFieldName) = value
rsUpdate.MoveNext
Next i
On Error GoTo canupdaterecord
rsUpdate.Update
On Error GoTo 0
rsUpdate.Close
End If
Exit function
因此,你们可以给我的任何帮助将不胜感激。就像我说的那样,我对 VB 还很陌生,我正在学习这一切。
【问题讨论】: