Отправка обновлений: метод UpdateBatch
Следующий код открывает набор записей в пакетном режиме, устанавливая для свойства LockType значение adLockBatchOptimistic и для свойства CursorLocation значение adUseClient. Он добавляет две новые записи и изменяет значение поля в существующей записи, сохраняя исходные значения, а затем вызывает UpdateBatch для отправки изменений обратно в источник данных.
Замечания
'BeginBatchUpdate
strConn = "Provider=SQLOLEDB;Initial Catalog=Northwind;" & _
"Data Source=MySQLServer;Integrated Security=SSPI;"
strSQL = "SELECT ShipperId, CompanyName, Phone FROM Shippers"
Set objRs1 = New ADODB.Recordset
objRs1.CursorLocation = adUseClient
objRs1.Open strSQL, strConn, adOpenStatic, adLockBatchOptimistic, adCmdText
' Change value of Phone field for first record in Recordset, saving value
' for later restoration.
intId = objRs1("ShipperId")
sPhone = objRs1("Phone")
objRs1("Phone") = "(111) 555-1111"
'Add two new records
For i = 0 To 1
objRs1.AddNew
objRs1(1) = "New Shipper #" & CStr((i + 1))
objRs1(2) = "(nnn) 555-" & i & i & i & i
Next i
' Send the updates
objRs1.UpdateBatch
'EndBatchUpdate
При изменении текущей записи или добавлении новой записи при вызове метода UpdateBatch ADO автоматически вызовет метод Update, чтобы сохранить все ожидающие изменения текущей записи перед передачей пакетных изменений поставщику.