Recordset : modification des enregistrements par les recordsets (ODBC)
Cette rubrique s’applique aux classes ODBC MFC.
Outre leur capacité à sélectionner des enregistrements à partir d’une source de données, les recordsets peuvent (éventuellement) mettre à jour ou supprimer les enregistrements sélectionnés ou ajouter de nouveaux enregistrements. Trois facteurs déterminent la mise à jour d’un recordset : si la source de données connectée est mise à jour, les options que vous spécifiez lorsque vous créez un objet recordset et le sql créé.
Remarque
Le code SQL sur lequel votre CRecordset
objet est basé peut affecter la mise à jour de votre jeu d’enregistrements. Par exemple, si votre sql contient une jointure ou une clause GROUP BY , MFC définit la possibilité de mise à jour sur FALSE.
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 utilisez l’extraction de lignes en bloc, consultez Recordset : Extraction d’enregistrements en bloc (ODBC).
Cette rubrique explique :
Votre rôle dans le jeu d’enregistrements mis à jour et ce que fait l’infrastructure pour vous.
Jeu d’enregistrements en tant que mémoire tampon de modification et différences entre les feuilles de réponse dynamique et les instantanés.
Recordset : Comment AddNew, Edit et Delete Work (ODBC) décrit les actions de ces fonctions du point de vue du jeu d’enregistrements.
Recordset : Plus sur les mises à jour (ODBC) termine l’article de mise à jour du jeu d’enregistrements en expliquant comment les transactions affectent les mises à jour, comment la fermeture d’un jeu d’enregistrements ou le défilement affecte les mises à jour en cours et comment vos mises à jour interagissent avec les mises à jour d’autres utilisateurs.
Votre rôle dans le jeu d’enregistrements mis à jour
Le tableau suivant montre votre rôle dans l’utilisation de jeux d’enregistrements pour ajouter, modifier ou supprimer des enregistrements, ainsi que ce que fait l’infrastructure pour vous.
Mise à jour du jeu d’enregistrements : Vous et l’infrastructure
pour | L'infrastructure |
---|---|
Déterminez si la source de données peut être mise à jour (ou ajoutable). | Fournit des fonctions membres CDatabase pour tester la mise à jour ou l’ajout de la source de données. |
Ouvrez un jeu d’enregistrements pouvant être mis à jour (de n’importe quel type). | |
Déterminez si le jeu d’enregistrements est pouvant être mis à jour en appelant CRecordset des fonctions de mise à jour telles que CanUpdate ou CanAppend . |
|
Appelez les fonctions membres du jeu d’enregistrements pour ajouter, modifier et supprimer des enregistrements. | Gère la mécanique de l’échange de données entre votre objet recordset et la source de données. |
Si vous le souhaitez, utilisez des transactions pour contrôler le processus de mise à jour. | Fournit des CDatabase fonctions membres pour prendre en charge les transactions. |
Pour plus d’informations sur les transactions, consultez Transaction (ODBC).
Mémoire tampon d’édition
Pris collectivement, les membres de données de champ d’un jeu d’enregistrements servent de mémoire tampon de modification qui contient un enregistrement ( l’enregistrement actif). Les opérations de mise à jour utilisent cette mémoire tampon pour fonctionner sur l’enregistrement actif.
Lorsque vous ajoutez un enregistrement, la mémoire tampon d’édition est utilisée pour générer un nouvel enregistrement. Lorsque vous avez terminé d’ajouter l’enregistrement, l’enregistrement qui était précédemment actif devient à nouveau actif.
Lorsque vous mettez à jour (modifiez) un enregistrement, la mémoire tampon d’édition est utilisée pour définir les membres de données de champ du jeu d’enregistrements sur de nouvelles valeurs. Une fois la mise à jour terminée, l’enregistrement mis à jour est toujours actif.
Lorsque vous appelez AddNew ou Edit, l’enregistrement actif est stocké afin qu’il puisse être restauré ultérieurement si nécessaire. Lorsque vous appelez Delete, l’enregistrement actif n’est pas stocké, mais est marqué comme supprimé et vous devez faire défiler vers un autre enregistrement.
Remarque
La mémoire tampon d’édition ne joue aucun rôle dans la suppression d’enregistrements. Lorsque vous supprimez l’enregistrement actif, l’enregistrement est marqué comme supprimé et le jeu d’enregistrements n’est « pas sur un enregistrement » tant que vous ne faites pas défiler vers un autre enregistrement.
Feuilles de réponse dynamique et instantanés
Dynasets actualise le contenu d’un enregistrement à mesure que vous faites défiler vers l’enregistrement. Les instantanés sont des représentations statiques des enregistrements. Par conséquent, le contenu d’un enregistrement n’est pas actualisé, sauf si vous appelez Requery. Pour utiliser toutes les fonctionnalités des feuilles de réponse dynamique, vous devez utiliser un pilote ODBC conforme au niveau correct de prise en charge de l’API ODBC. Pour plus d’informations, consultez ODBC et Dynaset.
Voir aussi
Recordset (ODBC)
Recordset : fonctionnement d’AddNew, Edit et Delete (ODBC)