Так что я довольно новичок в Visual Basic и унаследовал этот код VB6, над которым мне нужно работать сейчас. Прямо сейчас я пытаюсь обновить базу данных SQL с помощью ADODB.RecordSet. У меня есть оператор Select SQL, который извлекает нужные данные из базы данных в ADODB.RecordSet, но у меня возникают проблемы с обновлением всех строк. Я пытаюсь обновить один и тот же столбец для каждой строки с одинаковым значением. Сейчас обновляются некоторые записи, но появляется сообщение об ошибке. Я получаю ошибку:
Ошибка времени выполнения 3021: либо BOF, либо EOF
Истинно или текущая запись была
удален. Запрашиваемая операция требует
текущая запись.
Когда я нажимаю для отладки, я перехожу на rsUpdate.fields (TargetFieldName) = значение
Сам проект огромен и слишком велик для публикации, но часть кода, над которой я сейчас работаю, такова:
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 и изучаю все это по ходу дела.