CRecordset:: DoFieldExchange

virtuelle privatevoid DoFieldExchange ( CFieldExchange * pFX );
werfen ( CDBException );

Parameter

pFX

Ein Zeiger auf ein CFieldExchange -Objekt. Rahmen wird bereits dieses Objekt eingerichtet haben, geben einen Kontext für die Feld-Betriebs von exchange.

Bemerkungen

Wenn gesammelte nicht implementiert ist, ruft das Framework diese Memberfunktion zum Austausch von Daten zwischen den Felddatenmembern des Recordset-Objekts und der entsprechenden Spalten des aktuellen Datensatzes in der Datenquelle automatisch. DoFieldExchange bindet auch die Parameterdatenmember, ggf. Parameterplatzhalter in der SQL-Anweisungszeichenfolge des Recordsets Auswahl.

Wenn gesammelte implementiert ist, ruft das Framework DoBulkFieldExchange. Um gesammelte implementieren, müssen Sie angeben, die Option übergeben im Parameter DwOptions der Open -Memberfunktion.

Hinweis&Nbsp;DoFieldExchange ist nur verfügbar, wenn Sie mit eine von CRecordsetabgeleitete Klasse arbeiten. Wenn Sie ein Recordsetobjekt direkt von CRecordseterstellt haben, müssen Sie die GetFieldValue -Member-Funktion zum Abrufen von Daten aufrufen.

Der Austausch von Felddaten, genannt Datensatzfeldaustausch (RFX), funktioniert in beide Richtungen: von Felddatenmembern des Recordset-Objekts auf die Felder des Datensatzes in der Datenquelle und den Datensatz in der Datenquelle an das Recordset-Objekt.

Die einzige Aktion, die Sie normalerweise ausführen müssen DoFieldExchange für abgeleitete Recordset-Klasse implementiert ist, erstellen Sie die Klasse mit Klassen-Assistenten, und geben die Namen und Datentypen der Felddatenmember. Sie können auch Code hinzufügen, zu was ClassWizard schreibt Parameterdatenmember angeben oder im Umgang mit Spalten, die Sie dynamisch binden. Weitere Informationen finden Sie im Artikel Recordset: Dynamisches Binden von Datenspalten (ODBC) im Visual C++ Programmer's Guide.

Wenn Sie mit ClassWizard abgeleitete Recordset-Klasse deklarieren, erstellt der Assistent eine Außerkraftsetzung der DoFieldExchange für Sie, die im folgende Beispiel ähnelt:

privatevoid CCustSet::DoFieldExchange (CFieldExchange pFX)
{
 Nbsp; //{{AFX_FIELD_MAP(CCustSet)
   pFX - > SetFieldType(CFieldExchange::outputColumn);
   RFX_Text (pFX, "Name", M_strName);
   RFX_Int (pFX, "Age", M_wAge);
   //}}AFX_FIELD_MAP
}

Weitere Informationen über RFX-Funktionen finden Sie im Thema Datensatzfeldaustausch-Funktionen.

Weitere Beispiele und Informationen über DoFieldExchangefinden Sie im Artikel -Datensatzfeldaustausch: Funktionsweise von RFX. Allgemeine Informationen über RFX finden Sie im Artikel Record Field Exchange. Beide Artikel sind in Visual C++ Programmer's Guide.

CRecordset ÜbersichtMember der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CRecordset::m_nFields, CRecordset::m_nParams, CRecordset::DoBulkFieldExchange, CRecordset::GetFieldValue, CFieldExchange, Datensatzfeldaustausch-Funktionen

Index