Partager via


CRecordset::IsFieldDirty

Détermine si les données membres de champ spécifiées ont été modifiées depuis que modification ou AddNew a été appelé.

BOOL IsFieldDirty( 
   void * pv  
);

Paramètres

  • pv
    Pointeur vers le mode de données membres de champ lequel que vous voulez contrôler, ou NULL pour déterminer si les champs l'un des sont modifiés.

Valeur de retour

Une valeur différente de zéro si les données membres de champ spécifiées ont changé depuis appeler AddNew ou Modifier; sinon 0.

Notes

Les données de tous les membres de données de type champ modifiés sont transférées à l'enregistrement dans la source de données lorsque l'enregistrement actuel est mis à jour par un appel à la fonction membre de mise à jour d' CRecordset suivant (un appel à Modifier ou à AddNew).

Notes

Cette fonction membre n'est pas applicable sur les recordsets qui utilisent l'extraction de lignes en bloc.Si vous avez implémenté l'extraction de lignes en bloc, puis IsFieldDirty toujours retourne FALSE et entraîne une assertion.Pour plus d'informations sur l'extraction de lignes en bloc, consultez l'article recordset : Extraction globale d'enregistrements (ODBC).

Appeler IsFieldDirty remettra à l'état initial les effets de précéder les appels à SetFieldDirty étant donné que l'état modifié du champ est réévalué. Dans le cas de AddNew , si la valeur du champ actuelle diffère de la pseudo valeur NULL, le mode de champ a modifié. Dans le cas de Modifier , si la valeur du champ diffère de la valeur mise en cache, le mode de champ a modifié.

IsFieldDirty est implémenté via DoFieldExchange.

Pour plus d'informations sur la balise modifiée, consultez l'article recordset : Comment les recordsets d'enregistrements (ODBC).

Exceptions

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

Configuration requise

Header: afxdb.h

Voir aussi

Référence

CRecordset, classe

Graphique de la hiérarchie

CRecordset::SetFieldDirty

CRecordset::IsFieldNull