CRecordset::SetFieldDirty
Signale les données membres de champ de recordset comme changé ou comme inchangé.
void SetFieldDirty(
void* pv,
BOOL bDirty = TRUE
);
Paramètres
pv
Contient l'adresse des données membres de champ du recordset ou NULL. Si NULL, toutes les données membres de champ du recordset sont signalés. (C++ NULL n'est pas le même que Null dans la terminologie de base de données, ce qui signifie « n'avoir aucun value ".)bDirty
TRUE si les données membres de champ doivent être marquées d'une indication comme « modifiées » (modifiés). Sinon FALSE si les données membres de champ doivent être marquées d'une indication comme pour commencer par « nettoyer » (inchangé).
Notes
Marquer des champs à mesure que garantit inchangé le champ n'est pas mis à jour et entraîne moins de trafic SQL.
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 SetFieldDirty provoquera une assertion.Pour plus d'informations sur l'extraction de lignes en bloc, consultez l'article recordset : Extraction globale d'enregistrements (ODBC).
L'infrastructure marque les membres de données de type champ modifiés pour les vérifier est écrite dans l'enregistrement dans la source de données par le mécanisme d'enregistrement de l'échange des champs (bulk RFX). Modifier la valeur d'un champ définit en général le champ modifié automatiquement, vous devez rarement appeler SetFieldDirty vous-même, mais vous pouvez parfois souhaiter vous assurer que les colonnes sont explicitement mises à jour ou insérées quelle que soit la valeur est dans les données membres de champ.
Avertissement
Appelez la fonction membre uniquement après que vous avez appelé modification ou AddNew.
Utilisation NULL pour le premier argument de la fonction appliquera la fonction uniquement aux champs d' outputColumn , pas champs de param . Par exemple, l'appel
SetFieldNull(NULL);
définira seuls les champs d' outputColumn à NULL; les champs de param sont pas affectés.
Pour travailler sur les champs de param , vous devez fournir l'adresse réelle de la personne param que vous souhaitez utiliser en fonction, telle que :
SetFieldNull(&m_strParam);
Cela signifie que vous ne pouvez pas définir tous les champs de param à NULL, comme vous pouvez le faire avec les champs d' outputColumn .
Configuration requise
Header: afxdb.h