CRecordset::SetFieldNull
Kennzeichnet einen Felddatenmember des Recordsets als NULL (keinen Wert ausdrücklich), oder als NULL.
Syntax
void SetFieldNull(
void* pv,
BOOL bNull = TRUE
);
Parameter
pv
Enthält die Adresse eines Felddatenmember des Recordsets oder in NULL.Wenn NULL, alle Felddatenmember im Recordset bezeichnet werden.(C++ NULL ist nicht dasselbe wie NULL in der Datenbankterminologie, die "Haben kein value ") bedeutet.bNull
Ungleich 0 (null), wenn der Felddatenmember als, keinen Wert (NULL) aufweist bezeichnet werden soll.Andernfalls 0, wenn der Felddatenmember als NULL bezeichnet werden soll.
Hinweise
Wenn Sie einem Recordset einen neuen Datensatz hinzufügen, werden alle Felddatenmember zuerst mit einem NULL-Wert festgelegt und bezeichnet, wie "geändert" (geändert wurde).Wenn Sie einen Datensatz aus einer Datenquelle abrufen, haben ihre Spalten entweder bereits Werte oder NULL sind.
Hinweis
Rufen Sie die Memberfunktion auf Recordsets auf, die das gesammelte Abrufen von Zeilen verwenden.Wenn Sie das gesammelte Abrufen von Zeilen implementiert haben, führt das Aufrufen von SetFieldNull einen Assertionsfehler.Weitere Informationen über das gesammelte Abrufen von Zeilen, finden Sie im Artikel Recordset: Datensätzen in einer Sammeloperation (ODBC).
Wenn Sie ausdrücklich ein Feld des aktuellen Datensatzes als einen Wert nicht, wie festlegen möchten, rufen SetFieldNull mit bNull festgelegt TRUE, um es als NULL zu kennzeichnen.Wenn ein Feld zuvor NULL markiert war und Sie nun ihr einen Wert geben möchten, legen Sie einfach den neuen Wert fest.Sie müssen das Flag mit NULL SetFieldNull nicht entfernen.Um festzustellen ob dem Feld können wird um NULL sein, rufen Sie IsFieldNullable auf.
Warnung
Rufen Sie die Memberfunktion auf, nachdem Sie Bearbeiten oder AddNew aufgerufen haben.
Verwenden NULL für das erste Argument der Funktion übernimmt die Funktion nur zu outputColumn Feldern, nicht param Felder.Beispielsweise der Aufruf
SetFieldNull(NULL);
wird nur outputColumn Felder zu NULL fest; param Felder sind nicht betroffen.
Um an param Feldern zu arbeiten, müssen Sie die tatsächliche Adresse der einzelnen param, das Sie bearbeiten möchten, wie angeben:
SetFieldNull(&m_strParam);
Dies bedeutet, dass Sie alle param Felder nicht für NULL festlegen können, wie Sie mit outputColumn Feldern können.
Hinweis
Wenn er Parameter festgelegt werden, um ungültig zu machen, ist ein Aufruf SetFieldNull vor dem Recordset geöffnete Ergebnisse in einer Assertion.In diesem Fall Aufruf SetParamNull.
SetFieldNull wird durch DoFieldExchange implementiert.
Anforderungen
Header: afxdb.h
Siehe auch
CRecordset Class
Hierarchiediagramm
CRecordset::IsFieldNull
CRecordset::SetFieldDirty
CRecordset::Edit
CRecordset::Update
CRecordset::IsFieldNullable