Jeu d'enregistrements : modification des enregistrements par les jeux d'enregistrements (ODBC)
Mise à jour : novembre 2007
Cette rubrique s'applique aux classes ODBC MFC.
En dehors de leur capacité à sélectionner les enregistrements d'une source de données, les jeux d'enregistrements peuvent (à titre facultatif) mettre à jour ou supprimer les enregistrements sélectionnés ou ajouter de nouveaux enregistrements. Trois facteurs déterminent le caractère modifiable d'un recordset : la possibilité de mettre à jour la source de données connectée, les options définies lors de la création de l'objet recordset et l'instruction SQL créée.
Remarque : |
---|
L'instruction SQL sur laquelle est fondé l'objet CRecordset peut influer sur le caractère modifiable du jeu d'enregistrements. Par exemple, si l'instruction SQL contient une jointure ou une clause GROUP BY, MFC définit le caractère modifiable avec la valeur FALSE. |
Remarque : |
---|
Cette rubrique s'applique aux objets dérivés de CRecordset dans lesquels l'extraction de lignes en bloc n'a pas été implémentée. Si vous utilisez l'extraction de lignes en bloc, consultez Jeu d'enregistrements : extraction globale d'enregistrements (ODBC). |
Cette rubrique explique :
votre propre rôle dans la mise à jour du jeu d'enregistrements et ce que l'infrastructure effectue automatiquement ;
le jeu d'enregistrements comme tampon d'édition et les différences entre les feuilles de réponse dynamiques et les instantanés.
Jeu d'enregistrements : fonctionnement d'AddNew, Edit et Delete (ODBC) décrit les actions de ces fonctions du point de vue du jeu d'enregistrements.
Jeu d'enregistrements : informations complémentaires sur les mises à jour (ODBC) conclut la description de la mise à jour des jeux d'enregistrements en expliquant comment les transactions affectent les mises à jour, comment la fermeture d'un jeu d'enregistrements influe sur les mises à jour en cours et comment vos propres mises à jour et celles des autres utilisateurs interagissent.
Votre rôle dans la mise à jour du jeu d'enregistrements
Le tableau suivant illustre votre rôle dans l'utilisation des jeux d'enregistrements pour ajouter, modifier ou supprimer des enregistrements, ainsi que les tâches accomplies automatiquement par l'infrastructure.
Mise à jour du jeu d'enregistrements : responsabilités respectives
Vous |
L'infrastructure |
---|---|
Déterminez si la source de données peut être modifiée (ou faire l'objet d'ajouts). |
Fournit les fonctions membres CDatabase pour tester le caractère modifiable ou extensible de la source de données. |
Ouvrez un jeu d'enregistrements modifiable (type indifférent). |
|
Déterminez si le jeu d'enregistrements est modifiable en appelant les fonctions de mise à jour de CRecordset comme CanUpdate ou CanAppend. |
|
Appelez les fonctions membres du jeu d'enregistrements pour ajouter, modifier ou supprimer des enregistrements. |
Gère les mécanismes d'échanges de données entre l'objet recordset et la source de données. |
Le cas échéant, utilisez des transactions pour contrôler le processus de mise à jour. |
Fournit les fonctions membres de CDatabase pour prendre en charge les transactions. |
Pour plus d'informations sur les transactions, consultez Transaction (ODBC).
Tampon d'édition
Pris collectivement, les membres de données de type champ d'un jeu d'enregistrements font office de tampon d'édition, ne contenant qu'un seul enregistrement : l'enregistrement courant. Les opérations de mise à jour utilisent ce tampon pour travailler sur l'enregistrement courant.
Lorsque vous ajoutez un enregistrement, le tampon d'édition est utilisé pour construire un nouvel enregistrement. Lorsque vous avez fini d'ajouter l'enregistrement, l'enregistrement courant précédent redevient l'enregistrement courant.
Lorsque vous mettez à jour (modifiez) un enregistrement, le tampon d'édition est utilisé pour affecter les nouvelles valeurs aux membres de données de type champ de recordset. Lorsque la mise à jour est terminée, l'enregistrement modifié demeure l'enregistrement courant.
Lorsque vous appelez AddNew ou Edit, l'enregistrement courant est stocké de façon à pouvoir être restauré comme nécessaire. Lorsque vous appelez Delete, l'enregistrement courant n'est pas stocké mais marqué comme étant supprimé, et vous devez accéder à un autre enregistrement.
Remarque : |
---|
Le tampon d'édition ne joue aucun rôle dans la suppression d'enregistrements. Lorsque vous supprimez l'enregistrement courant, l'enregistrement est marqué comme supprimé, et le jeu d'enregistrements ne se trouve sur aucun enregistrement tant que vous n'avez pas accédé à un nouvel enregistrement. |
Feuilles de réponses dynamiques et instantanés
Les feuilles de réponse dynamiques actualisent le contenu d'un enregistrement tandis que vous accédez à l'enregistrement. Les instantanés sont des représentations statiques des enregistrements, si bien que le contenu d'un enregistrement n'est pas actualisé tant que vous n'appelez pas Requery. Pour utiliser toute la fonctionnalité des feuilles de réponse dynamiques, vous devez disposer d'un pilote ODBC qui soit conforme au niveau correct de prise en charge API ODBC. Pour plus d'informations, consultez ODBC et Feuille de réponse dynamique.
Voir aussi
Concepts
Jeu d'enregistrements : fonctionnement d'AddNew, Edit et Delete (ODBC)