Envoi des mises à jour : UpdateBatch, méthode
Le code suivant ouvre un jeu d’enregistrements en mode batch en définissant la propriété LockType sur adLockBatchOptimistic et cursorLocation sur adUseClient. Il ajoute deux nouveaux enregistrements et modifie la valeur d’un champ dans un enregistrement existant, l’enregistrement des valeurs d’origine, puis appelle UpdateBatch pour renvoyer les modifications à la source de données.
Notes
'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
Si vous modifiez l’enregistrement actif ou si vous ajoutez un nouvel enregistrement lorsque vous appelez la méthode UpdateBatch, ADO appelle automatiquement la méthode Update pour enregistrer les modifications en attente dans l’enregistrement actif avant de transmettre les modifications par lot au fournisseur.