Freigeben über


CRecordset::SetFieldNull

Kennzeichnet einen Felddatenmember des Recordsets als NULL (keinen Wert ausdrücklich), oder als NULL.

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.

HinweisHinweis

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.

WarnhinweisVorsicht

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.

HinweisHinweis

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

Referenz

CRecordset-Klasse

Hierarchien-Diagramm

CRecordset::IsFieldNull

CRecordset::SetFieldDirty

CRecordset::Edit

CRecordset::Update

CRecordset::IsFieldNullable