CDaoRecordset::SetFieldDirty

Rufen Sie die Memberfunktion auf, um einen Felddatenmember des Recordsets zu kennzeichnen, wie oder als unverändert geändert.

void SetFieldDirty(
   void* pv,
   BOOL bDirty = 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.

  • bDirty
    TRUE, wenn der Felddatenmember bezeichnet werden soll, wie "geändert" (geändert wurde).Andernfalls "bereinigen" FALSE, wenn der Felddatenmember wie bezeichnet werden soll (unverändert).

Hinweise

Das Markieren von Feldern als unverändert stellt sicher, dass das Feld nicht aktualisiert wird.

Das Framework markiert veränderte Felddatenmember, um sicherzustellen, dass sie den Datensatz in der Datenquelle durch den Mechanismus des DAO-Datensatzfeldaustauschs (DFX) geschrieben werden.Das Ändern des Werts eines Felds wird im Allgemeinen das Feld fest, das automatisch geändert wurde, müssen Sie sich selten SetFieldDirty aufrufen, sollten Sie auch sicherstellen, dass Spalten explizit aktualisiert oder eingefügt werden unabhängig davon, welchen Wert im Felddatenmember ist.Der DFX-Mechanismus wird auch die Verwendung von PSEUDONULL ein.Weitere Informationen finden Sie unter CDaoFieldExchange::m_nOperation.

Wenn der Mechanismus der doppelten Pufferung nicht verwendet wird, wird das Ändern des Werts des Felds nicht automatisch das Feld fest, wie geändert.In diesem Fall ist es notwendig, das Feld explizit festzulegen, wie geändert.Das Flag, das in m_bCheckCacheForDirtyFields enthalten ist, steuert diese automatische Feldüberprüfung.

HinweisHinweis

Rufen Sie die Memberfunktion auf, nachdem Sie Bearbeiten oder AddNew aufgerufen haben.

Verwenden NULL für das erste Argument der Funktion übernimmt die Funktion auf alle outputColumn Feldern, nicht param Felder in CDaoFieldExchange.Beispielsweise der Aufruf

SetFieldDirty(NULL);

wird nur outputColumn Felder zu NULL fest; param Felder sind nicht betroffen.

Um an param funktioniert, müssen Sie die tatsächliche Adresse der einzelnen param, das Sie bearbeiten möchten, wie angeben:

SetFieldDirty(&m_strParam);

Dies bedeutet, dass Sie alle param Felder nicht für NULL festlegen können, wie Sie mit outputColumn Feldern können.

SetFieldDirty wird durch DoFieldExchange implementiert.

Anforderungen

Header: afxdao.h

Siehe auch

Referenz

CDaoRecordset-Klasse

Hierarchien-Diagramm

CDaoRecordset::SetFieldNull

CDaoRecordset::SetFieldValue