Partager via


Mise à jour et conservation des données

Les chapitres précédents ont abordé comment utiliser ADO pour accéder aux données dans une source de données, comment se déplacer dans les données, et même comment modifier les données. Bien sûr, si l’objectif de votre application est de permettre aux utilisateurs d’apporter des modifications aux données, vous devez comprendre comment enregistrer ces modifications. Vous pouvez conserver le jeu d’enregistrements modifications apportées à un fichier à l’aide de la méthode Save, ou renvoyer les modifications à la source de données pour le stockage à l’aide des méthodes Update ou UpdateBatch.

Dans les chapitres précédents, vous avez modifié les données de plusieurs lignes du recordset . ADO prend en charge deux notions de base relatives à l’ajout, à la suppression et à la modification des lignes de données.

La première notion est que les modifications ne sont pas immédiatement apportées au jeu d’enregistrements ; au lieu de cela, elles sont effectuées dans une mémoire tampon interne de copie . Si vous décidez que vous ne souhaitez pas les modifications, les modifications dans la mémoire tampon de copie sont ignorées. Si vous décidez de conserver les modifications, les modifications apportées à la mémoire tampon de copie sont appliquées au jeu d’enregistrements .

La deuxième notion est que les modifications sont propagées à la source de données dès que vous déclarez le travail sur une ligne terminé (autrement dit, mode immédiat ), ou toutes les modifications sur un ensemble de lignes sont collectées jusqu’à ce que vous déclariez le travail de l’ensemble terminé (autrement dit, mode lot ). La propriété LockType détermine quand les modifications sont apportées à la source de données sous-jacente. adLockOptimistic ou adLockPessimistic spécifie le mode immédiat, tandis que adLockBatchOptimistic spécifie le mode batch. La propriété CursorLocation peut affecter les paramètres LockType disponibles. Par exemple, le paramètre adLockPessimistic n’est pas pris en charge si la propriété CursorLocation est définie sur adUseClient.

En mode immédiat, chaque appel de la méthode Update propage les modifications apportées à la source de données. En mode batch, chaque appel de Update ou déplacement de la position de ligne actuelle enregistre les modifications apportées à la mémoire tampon de copie, mais seule la méthode UpdateBatch propage les modifications apportées à la source de données.

Cette section contient les rubriques suivantes.