Обмен полями записей. Использование функций RFX

В этом разделе объясняется, как использовать вызовы функции RFX, составляющие тело DoFieldExchange переопределения.

Примечание.

Этот раздел относится к классам, производным от CRecordset , в котором массовое получение строк не реализовано. Если вы используете пакетное получение строк, реализуется пакетный обмен полями записей (Bulk RFX). Bulk RFX аналогичен RFX. Сведения о различиях см. в разделе Recordseting Recordseting Records in Bulk (ODBC).

Глобальные функции RFX обмениваются данными между столбцами источника данных и элементами данных поля в наборе записей. Вы записываете вызовы функции RFX в функции-члене набора записей DoFieldExchange . В этом разделе описываются функции кратко и показаны типы данных, для которых доступны функции RFX. Технический примечание 43 описывает, как писать собственные функции RFX для дополнительных типов данных.

Синтаксис функции RFX

Каждая функция RFX принимает три параметра (и некоторые принимают необязательный четвертый или пятый параметр):

  • Указатель на объект CFieldExchange . Вы просто передаете указатель, переданный pFXDoFieldExchangeв .

  • Имя столбца, отображаемого в источнике данных.

  • Имя соответствующего элемента данных поля или элемента данных параметра в классе наборов записей.

  • (Необязательно) В некоторых функциях максимальная длина передаваемой строки или массива. Это значение по умолчанию — 255 байт, но может потребоваться изменить его. Максимальный размер основан на максимальном размере CString объекта — INT_MAX (2 147 483 647 байта), но, вероятно, вы столкнетесь с ограничениями драйверов до этого размера.

  • (Необязательно) RFX_Text В функции иногда используется пятый параметр для указания типа данных столбца.

Дополнительные сведения см. в разделе "Макросы и глобальные" в справочнике по библиотеке классов. Пример использования параметров см. в разделе Recordset: получение sums и других статистических результатов (ODBC).

Типы данных RFX

Библиотека классов предоставляет функции RFX для передачи различных типов данных между источником данных и наборами записей. В следующем списке перечислены функции RFX по типу данных. В случаях, когда необходимо написать собственные вызовы функций RFX, выберите из этих функций по типу данных.

Функция Тип данных
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

Дополнительные сведения см. в документации по функциям RFX в разделе "Макросы и глобальные" в справочнике по библиотеке классов. Сведения о сопоставлении типов данных C++ с типами данных SQL см. в таблице ANSI SQL Data Types, сопоставленной с типами данных C++ в SQL: SQL и C++ Data Types (ODBC).

См. также

Обмен данными полей записей (RFX)
Обмен данными с полями записей. Принцип работы RFX
Набор записей. Параметризация набора записей (ODBC)
Набор записей. Динамическая привязка столбцов данных (ODBC)
Класс CRecordset
Класс CFieldExchange