Partager via


CRecordset::IsFieldNullable

Retourne une valeur différente de zéro si le champ spécifié dans l'enregistrement en cours peut avoir la valeur Null (n'ayant pas de valeur).

BOOL IsFieldNullable( 
   void * pv  
);

Paramètres

  • pv
    Pointeur vers le mode de données membres de champ lequel que vous voulez contrôler, ou NULL à déterminer si les champs l'un des peuvent être définis selon une valeur NULL.

Notes

Appelez la fonction membre pour déterminer si les données membres de champ spécifiées sont « nullables » (peut avoir une valeur NULL ; C++ NULL n'est pas identique à la valeur Null, qui, dans la terminologie de base de données, signifie « avoir aucune valeur »).

Notes

Si vous avez implémenté l'extraction de lignes en bloc, vous ne pouvez pas appeler IsFieldNullable.À la place, appelez la fonction membre de GetODBCFieldInfo pour déterminer si un champ peut avoir une valeur NULL.Notez que vous pouvez toujours appeler GetODBCFieldInfo, que vous avez implémenté l'extraction de lignes en bloc.Pour plus d'informations sur l'extraction de lignes en bloc, consultez l'article recordset : Extraction globale d'enregistrements (ODBC).

Un champ qui ne peut pas être Null doit avoir une valeur. Si vous essayez de définir un tel champ pour annuler en ajoutant ou en mettant à jour un enregistrement, la source de données rejette l'ajout ou la mise à jour, et mise à jour lève une exception. L'exception se produit lorsque vous appelez Mettre à jour, pas lorsque vous appelez SetFieldNull.

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 .

IsFieldNullable est implémenté via DoFieldExchange.

Exceptions

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

Configuration requise

Header: afxdb.h

Voir aussi

Référence

CRecordset, classe

Graphique de la hiérarchie

CRecordset::IsFieldNull

CRecordset::SetFieldNull