Datensatzfeldaustausch: Verwenden der RFX-Funktionen
In diesem Thema wird erläutert, wie Sie die RFX-Funktionsaufrufe verwenden, die das Kernstück der DoFieldExchange-Überschreibung bilden.
Tipp
Dieses Thema bezieht sich auf von CRecordset abgeleitete Klassen, in denen der gesammelte Zeilenabruf nicht implementiert wurde. Beim gesammelten Abrufen von Zeilen wird der Sammel-Datensatzfeldaustausch (Bulk-RFX) implementiert. Der Bulk-RFX ist mit RFX vergleichbar. Unter Recordset: Abrufen von Datensätzen in einer Sammeloperation (ODBC) werden die Unterschiede erläutert.
Die globalen RFX-Funktionen übertragen Daten zwischen Spalten der Datenquelle und Felddatenmembern des Recordsets. Sie erstellen die RFX-Funktionsaufrufe in der DoFieldExchange-Memberfunktion des Recordsets. In diesem Thema werden diese Funktionen kurz beschrieben und die Datentypen aufgeführt, für die RFX-Funktionen zur Verfügung stehen. Der Technische Hinweis 43 beschreibt, wie Sie für zusätzliche Datentypen eigene RFX-Funktionen erstellen können.
Syntax der RFX-Funktionen
Jede RFX-Funktion verfügt über drei Parameter (manche haben zusätzlich einen optionalen vierten und fünften Parameter):
Einen Zeiger auf ein CFieldExchange-Objekt. Sie übergeben einfach den an DoFieldExchange übergebenen pFX-Zeiger.
Den Namen der Spalte, wie er in der Datenquelle angezeigt wird.
Den Namen des zugehörigen Felddatenmembers oder Parameterdatenmembers in der Recordset-Klasse.
(Optional) In manchen Funktionen die Maximallänge der Zeichenfolge oder des Arrays, das übertragen wird. Der Standardwert beträgt 255 Bytes, kann aber bei Bedarf geändert werden. Die Maximalgröße leitet sich von der Maximalgröße eines CString-Objekts ab (INT_MAX (2.147.483.647 Bytes)), meist treten aber schon vor Erreichen dieser Grenze Einschränkungen des Treibers in Kraft;
(Optional) In der Funktion RFX_Text legen Sie manchmal in einem fünften Parameter den Datentyp einer Spalte fest.
Weitere Informationen finden Sie in der Dokumentation der RFX-Funktionen unter Macros and Globals (nur auf Englisch verfügbar) in der Class Library Reference. Ein Beispiel für die spezielle Verwendung von Parametern finden Sie unter Recordset: Abrufen von SUMs und anderen Aggregatergebnissen (ODBC).
RFX-Datentypen
Die Klassenbibliothek stellt RFX-Funktionen für die Übertragung vieler verschiedener Datentypen zwischen der Datenquelle und den Recordsets zur Verfügung. In der folgenden Liste sind die RFX-Funktionen nach Datentyp zusammengefasst. Falls Sie eigene RFX-Funktionsaufrufe erstellen möchten, können Sie anhand des Datentyps in dieser Liste die richtige Funktion auswählen.
Funktion |
Datentyp |
---|---|
RFX_Bool |
BOOL |
RFX_Byte |
BYTE |
RFX_Binary |
CByteArray |
RFX_Double |
double |
RFX_Single |
float |
RFX_Int |
int |
RFX_Long |
long |
RFX_LongBinary |
CLongBinary |
RFX_Text |
CString |
RFX_Date |
CTime |
Weitere Informationen finden Sie in der Dokumentation der RFX-Funktionen unter Macros and Globals (nur auf Englisch verfügbar) in der Class Library Reference. Informationen über die Zuordnung von C++-Datentypen zu SQL-Datentypen finden Sie in der Zuordnungstabelle zwischen C++-Datentypen und ANSI-SQL-Datentypen unter SQL: SQL- und C++-Datentypen (ODBC).
Siehe auch
Referenz
Konzepte
Datensatzfeldaustausch: Funktionsweise von RFX