Recordset : verrouillage d'enregistrements (ODBC)
Cette rubrique s’applique aux classes ODBC MFC.
Cette rubrique explique :
Lorsque vous utilisez un jeu d’enregistrements pour mettre à jour un enregistrement sur la source de données, votre application peut verrouiller l’enregistrement afin qu’aucun autre utilisateur ne puisse mettre à jour l’enregistrement en même temps. L’état d’un enregistrement mis à jour par deux utilisateurs en même temps n’est pas défini, sauf si le système peut garantir que deux utilisateurs ne peuvent pas mettre à jour un enregistrement simultanément.
Remarque
Cette rubrique s’applique aux objets dérivés de CRecordset
où l’extraction de lignes en bloc n’a pas été implémentée. Si vous avez implémenté la récupération de lignes en bloc, certaines informations ne s’appliquent pas. Par exemple, vous ne pouvez pas appeler les fonctions membres et Update
les Edit
fonctions membres. Pour plus d’informations sur l’extraction de lignes en bloc, consultez Recordset : Extraction d’enregistrements en bloc (ODBC).
Modes de verrouillage d’enregistrement
Les classes de base de données fournissent deux modes de verrouillage d’enregistrement :
Verrouillage optimiste (valeur par défaut)
Verrouillage pessimiste
La mise à jour d’un enregistrement se produit en trois étapes :
Vous commencez l’opération en appelant la fonction Modifier le membre.
Vous modifiez les champs appropriés de l’enregistrement actif.
Vous terminez l’opération et validez normalement la mise à jour en appelant la fonction membre Update .
Le verrouillage optimiste verrouille l’enregistrement sur la source de données uniquement pendant l’appel Update
. Si vous utilisez le verrouillage optimiste dans un environnement multiutilisateur, l’application doit gérer une condition d’échec Update
. Le verrouillage pessimiste verrouille l’enregistrement dès que vous appelez Edit
et ne le libère pas tant que vous n’avez Update
pas appelé (les échecs sont indiqués par le biais du CDBException
mécanisme, et non par une valeur de FALSE retournée par Update
). Le verrouillage pessimiste risque d’entraîner une pénalité de performances pour d’autres utilisateurs, car l’accès simultané au même enregistrement peut être obligé d’attendre la fin du processus de Update
votre application.
Verrouillage des enregistrements dans votre jeu d’enregistrements
Si vous souhaitez modifier le mode de verrouillage d’un objet recordset par défaut, vous devez modifier le mode avant d’appeler Edit
.
Pour modifier le mode de verrouillage actuel de votre jeu d’enregistrements
- Appelez la fonction membre SetLockingMode , en spécifiant l’une ou l’autre
CRecordset::pessimistic
CRecordset::optimistic
.
Le nouveau mode de verrouillage reste en vigueur jusqu’à ce que vous le modifiez à nouveau ou que le jeu d’enregistrements soit fermé.
Remarque
Relativement peu de pilotes ODBC prennent actuellement en charge le verrouillage pessimiste.
Voir aussi
Recordset (ODBC)
Recordset : création d’une jointure (ODBC)
Recordset : ajout, modification et suppression d’enregistrements (ODBC)