CDaoRecordset::Edit

virtual void Edit () ;
jeter (CDaoException, CMemoryException);

Remarques

Appelez cette fonction membre pour permettre les modifications apportées à l'enregistrement en cours.

Une fois que vous appelez la fonction membre Edit , modifications apportées aux champs de l'enregistrement en cours sont copiées dans le tampon de copie. Une fois que vous apportez les modifications souhaitées à l'enregistrement, appelez mise à jour pour enregistrer vos modifications. Edit enregistre les valeurs des membres de données du jeu d'enregistrements. Si vous appelez Edit, apportez des modifications, puis appelez Modifier encore une fois, les valeurs de l'enregistrement sont restaurés dans ce qu'elles étaient avant le premier appel de Edit.

Prude&ncenbsp ;  Si vous modifiez un dossier et puis d'exécuter toute opération qui se déplace vers un autre dossier sans appel première mise à jour, vos modifications sont perdues sans avertissement. En outre, si vous fermez le jeu d'enregistrements ou de la base de données parent, votre dossier édité est écarté sans avertissement.

Dans certains cas, vous pouvez mettre à jour une colonne en la rendant nul (ne contenant aucuns données). Pour ce faire, appeler SetFieldNull avec un paramètre de valeur TRUE pour marquer le champ Null ; Cela entraîne aussi la colonne mise à jour. Si vous voulez un champ pour être écrites dans la source de données, même si sa valeur n'a pas changé, appelez SetFieldDirty avec un paramètre de TRUE. Cela fonctionne même si le champ a la valeur Null.

Les marques de cadre a changé les données membres de champ pour s'assurer qu'ils seront écrits dans le dossier sur la source de données par le mécanisme de change (DFX) DAO record field. Modification de la valeur d'un champ général définit le champ Sales automatiquement, donc vous devrez rarement appelez SetFieldDirty vous-même, mais vous pouvez parfois souhaiter de s'assurer que les colonnes vont être explicitement mise à jour ou insérés indépendamment de quelle valeur est dans les données membres de champ. Le mécanisme DFX emploie également l'utilisation de PSEUDO NULL. Pour plus d'informations, voir CDaoFieldExchange::m_nOperation.

Si le mécanisme de double-buffering ne sert pas, puis de changer la valeur du champ ne définit pas automatiquement le champ comme sale. Dans ce cas, il sera nécessaire de jeu explicitement le champ sale. Le drapeau contenues dans les contrôles m_bCheckCacheForDirtyFields cette vérification de champ automatique.

Lorsque l'objet recordset est pessimiste verrouillé dans un environnement multi-utilisateur, le record reste verrouillé à partir du moment où Modifier est utilisé jusqu'à ce que la mise à jour est terminée. Si le jeu d'enregistrements est verrouillage optimiste, l'enregistrement est verrouillé et comparé avec l'enregistrement prémodifié juste avant il est mis à jour dans la base de données. Si l'enregistrement a changé depuis que vous avez appelé Edit, l'opération de mise à jour échoue et MFC lève une exception. Vous pouvez modifier le mode de verrouillage avec SetLockingMode.

&Notenbsp ;  Verrouillage optimiste est toujours utilisé sur les formats de base de données externes, telles que ODBC et ISAM installable.

L'enregistrement en cours reste actuel après que vous appelez Edit. Pour appeler la Modifier, il doit y avoir un enregistrement en cours. Si il n'y a aucun enregistrement en cours ou si le jeu d'enregistrements ne fait pas référence à un tableau-type ouvert ou un objet recordset de type feuille de réponse dynamique, une exception se produit. L'appel de Edit provoque un CDaoException d'être projeté dans les conditions suivantes:

Si la source de données prend en charge les transactions, vous pouvez faire Modifier appeler le cadre d'une transaction. Notez que vous devez appeler CDaoWorkspace::BeginTrans avant d'appeler Modifier et après que le jeu d'enregistrements a été ouvert. Notez également que CDaoWorkspace::CommitTrans l'appel n'est pas un substitut pour mise à jour pour terminer l'opération de Modifier l'appel. Pour plus d'informations sur les transactions, consultez la classe CDaoWorkspace.

Pour plus d'informations sur la mise à jour de données, consultez l'article jeu d'enregistrements DAO : opérations de jeu d'enregistrements dans le Guide du programmeur Visual C++. Pour plus d'informations, consultez les rubriques « Méthode AddNew », « Méthode Edit », « Méthode Delete », « Méthode de mise à jour » et « Propriété actualisable » dans l'aide de DAO.

Aperçu de CDaoRecordset |  ; Membres de la classe | Graphique de la hiérarchie

Voir aussinbsp ;CDaoRecordset::Add&New, CDaoRecordset::CancelUpdate, CDaoRecordset::CanTransact, CDaoRecordset::Delete, CDaoRecordset::Update

Index