Partager via


CRecordset::Update

Termine une opération d' AddNew ou de Modifier en enregistrant les données nouvelles ou modifiées dans la source de données.

virtual BOOL Update( );

Valeur de retour

Une valeur différente de zéro si un enregistrement a été correctement mis à jour ; sinon 0 si la colonne n'a pas changé.Si aucun enregistrement n'a été mis à jour, ou si plusieurs l'enregistrement a été mis à jour, une exception est levée.Une exception est également levée pour tout autre échec de la source de données.

Notes

Appelez la fonction membre après un appel à la fonction membre d' AddNew ou de modification .Cet appel est requis pour terminer l'opération d' AddNew ou de Modifier .

[!REMARQUE]

Si vous avez implémenté l'extraction de lignes en bloc, vous ne pouvez pas appeler Mettre à jour.Cela provoquera une assertion.Bien que la classe CRecordset ne fournit pas de mécanisme pour mettre à jour les lignes en bloc de données, vous pouvez écrire vos propres fonctions à l'aide de la fonction API ODBC SQLSetPos.Pour plus d'informations sur l'extraction de lignes en bloc, consultez l'article recordset : Extraction globale d'enregistrements (ODBC).

AddNew et Modifier préparer un tampon d'édition dans lequel les données ajoutées ou modifiées sont définies pour l'enregistrement à la source de données.Mettre à jour enregistre les données.Seuls les champs marqués ou détectés comme modifié sont mis à jour.

Si la source de données prend en charge les transactions, vous pouvez faire de la place d'appel de Mettre à jour (et son AddNew ou appel correspondant de Modifier ) d'une transaction.Pour plus d'informations sur les transactions, consultez l'article transaction (ODBC).

Mise en gardeAttention

Si vous appelez Mettre à jour sans appeler tout d'abord AddNew ou Modifier, Mettre à jour lève CDBException.Si vous appelez AddNew ou Modifier, vous devez appeler Mettre à jour avant d'appeler une opération de Déplacer ou avant que vous fermez le recordset ou la connexion à la source de données.Sinon, vos modifications sont perdues sans notification.

Pour plus d'informations sur la gestion des échecs de Mettre à jour , consultez l'article recordset : comment enregistrements de mise à jour de recordsets (ODBC).

Exceptions

Cette méthode peut lever des exceptions de type CDBException*.

Exemple

Consultez l'article transaction : L'exécution d'une transaction dans un recordset (ODBC).

Configuration requise

Header: afxdb.h

Voir aussi

Référence

Classe de CRecordset

Graphique de la hiérarchie

CRecordset::Edit

CRecordset::AddNew

CRecordset::SetFieldDirty

Classe de CDBException