CRecordset::IsFieldNullable

BOOL IsFieldNullable ( Void * pv );
werfen ( CDBException );

Parameter

pv

Ein Zeiger auf die Felddatenmember, dessen Status Sie überprüfen möchten oder NULL um festzustellen, ob die Felder auf einen Null-Wert festgelegt werden kann.

Bemerkungen

Rufen Sie diese Memberfunktion zu (um festzustellen, ob das angegebene Feld Datenelement "Null" ist kann auf einen Null-Wert festlegen C++ NULL ist nicht das gleiche wie Null, d.h., in der Datenbankterminologie "hat keinen Wert").

Hinweis&Nbsp;  Wenn Sie das gesammelte Abrufen von Zeilen implementiert haben, können nicht Sie IsFieldNullableaufrufen. Rufen Sie stattdessen die GetODBCFieldInfo Member-Funktion, um festzustellen, ob ein Feld einen Null-Wert festgelegt werden kann. Beachten Sie, dass Sie immer GetODBCFieldInfo, aufrufen können, unabhängig davon, ob Sie gesammelte implementiert haben. Weitere Informationen über gesammelte finden Sie im Artikel Recordset: Abrufen von Datensätzen in einer Sammeloperation (ODBC) im Visual C++ Programmer's Guide.

Ein Feld, das nicht Null sein darf, muss einen Wert besitzen. Wenn Sie versuchen, ein solches Feld auf Null beim Hinzufügen oder Aktualisieren eines Datensatzes, Daten festzulegen Quelle lehnt das Hinzufügen oder aktualisieren, und Aktualisieren , wird eine Ausnahme ausgelöst. Die Ausnahme tritt auf, wenn Sie Updateaufrufen, nicht wenn Sie SetFieldNull aufrufen.

Die Verwendung von NULL für das erste Argument der Funktion wird die Funktion nur auf OutputColumns, nicht Paramsangewendet. Zum Beispiel der Aufruf

SetFieldNull (NULL)

nur OutputColumns wird auf NULLfestgelegt werden. Params wird nicht betroffen sein.

Paramszu umgehen, müssen Sie die tatsächliche Adresse der einzelnen Param angeben an, wie z. B. arbeiten möchten:

SetFieldNull (&Amp; M_strParam)

Dies bedeutet, dass Sie nicht alle ParamsNULLfestlegen können, wie Sie mit OutputColumns können .

IsFieldNullable wird über DoFieldExchange implementiert.

CRecordset ÜbersichtMember der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CRecordset::IsFieldNull, CRecordset::SetFieldNull

Index