Partager via


CDaoRecordset::SetFieldNull

Appelez la fonction membre pour signaler des données membres de champ de recordset comme Null (en particulier n'ayant pas de valeur) ou comme non null.

void SetFieldNull(
   void* pv,
   BOOL bNull = 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 ".)

  • bNull
    Une valeur différente de zéro si les données membres de champ doivent être marquées d'une indication comme n'ayant pas de valeur (Null).Sinon 0 si les données membres de champ doivent être marquées d'une indication comme non null.

Notes

SetFieldNull est utilisé pour les champs liés dans le mécanisme d' DoFieldExchange .

Lorsque vous ajoutez un nouvel enregistrement à un recordset, toutes les données membres de champ sont initialement définies à une valeur NULL et marquées d'une indication comme « modifiées » (modifiés).Lorsque vous récupérez un enregistrement d'une source de données, ses colonnes déjà ont des valeurs ou est null.S'il n'est pas nécessaire d'effectuer un champ Null, CDaoException est levée.

Si vous utilisez le mécanisme de double tampon, par exemple, si vous souhaitez spécifiquement indiquer un champ de l'enregistrement courant en tant que n'ayant pas de valeur, appelez SetFieldNull avec bNull défini à TRUE pour le signaler en tant que Null.Si un champ a été précédemment marqué Null et vous souhaitez maintenant lui attribuer une valeur, il suffit de sa nouvelle valeur.Vous ne devez pas supprimer l'indicateur null à SetFieldNull.Pour déterminer si est autorisé à le champ pour être null, appelez IsFieldNullable.

Si vous n'utilisez pas le mécanisme de double tampon, puis modifier la valeur du champ n'affecte pas automatiquement le champ comme modifié et non null.Vous devez définir plus précisément les champs modifiés et non null.La balise contenue dans m_bCheckCacheForDirtyFields contrôle ce contrôle automatique de champ.

Le mécanisme DFX utilise l'utilisation de PSEUDONULL.Pour plus d'informations, consultez CDaoFieldExchange::m_nOperation.

[!REMARQUE]

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 dans CDaoFieldExchange.Par exemple, l'appel

SetFieldNull(NULL);      

définira seuls les champs d' outputColumn à NULL; les champs de param sont pas affectés.

Configuration requise

Header: afxdao.h

Voir aussi

Référence

Classe de CDaoRecordset

Graphique de la hiérarchie

CDaoRecordset::SetParamValue