Обмен полями записей. Использование функций RFX
В данном разделе описывается способ использования вызовов функций RFX, которые являются основой переопределения DoFieldExchange.
Примечание
Этот раздел относится к классам, производным от класса CRecordset, в котором групповая выборка строк не реализована.При использовании групповой выборки строк реализуется групповой обмен данными с полями записей (групповой RFX).Групповой RFX и обычный RFX похожи.Описание различий см. в разделе Набор записей: групповая выборка записей ODBC.
Глобальные функции RFX обеспечивают обмен данными между столбцами источника данных и членами-полями данных набора записей. Вызовы функций RFX располагаются в коде функции-члена DoFieldExchange набора записей. В этом разделе приводится краткое описание функций, а также приводятся типы данных, доступные для каждой функции RFX. В Технической заметке № 43 описывается способ создания собственных функций RFX, поддерживающих дополнительные типы данных.
Синтаксис функции RFX
Каждая функция RFX принимает три параметра (некоторые могут принимать дополнительно четвертый и пятый параметры):
Указатель на объект CFieldExchange. Следует просто передать указатель pFX, переданный функции-члену DoFieldExchange.
Имя исходного столбца в источнике данных.
Имя соответствующего элемента данных поля или элемента данных параметра в классе набора записей.
В некоторых функциях — максимальная длина передаваемой строки или массива (необязательно). По умолчанию имеет значение размером 255 байт, однако при необходимости значение можно изменить. Максимальный размер ограничивается максимальным размером объекта CString — INT_MAX байт (2 147 483 647 байт). Однако этот размер может быть ранее ограничен драйвером.
В функции RFX_Text иногда используется пятый параметр для указания типа данных для столбца (необязательно).
Дополнительные сведения см. в описании функций RFX в разделе Макросы и глобальные объекты Справочника по библиотеке классов. Примеры ситуаций, в которых может потребоваться особое использование параметров, см. в разделе Наборы записей. Суммирование и получение иных статистических результатов (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 и типов данных C++", приведенной в разделе SQL. Типы данных SQL и C++ (ODBC).
См. также
Ссылки
Основные понятия
Обмен данными полями записей (RFX)
Обмен данными с полями записей: Принцип работы RFX