Senden der Updates: UpdateBatch-Methode
Mit dem folgenden Code wird ein Recordset im Batchmodus geöffnet, indem die LockType-Eigenschaft auf adLockBatchOptimistic und CursorLocation auf adUseClient festgelegt wird. Er fügt zwei neue Datensätze hinzu und ändert den Wert eines Felds in einem vorhandenen Datensatz, indem er die ursprünglichen Werte speichert und anschließend UpdateBatch aufruft, um die Änderungen zurück an die Datenquelle zu senden.
Bemerkungen
'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
Wenn Sie den aktuellen Datensatz bearbeiten oder einen neuen Datensatz hinzufügen, wenn Sie die UpdateBatch-Methode aufrufen, ruft ADO automatisch die Update-Methode auf, um alle ausstehenden Änderungen an dem aktuellen Datensatz zu speichern, bevor der Batch mit den Änderungen an den Anbieter übertragen wird.