Обмен полями записей. Использование функций RFX
В этом разделе объясняется, как использовать вызовы функции RFX, составляющие тело DoFieldExchange
переопределения.
Примечание.
Этот раздел относится к классам, производным от CRecordset , в котором массовое получение строк не реализовано. Если вы используете пакетное получение строк, реализуется пакетный обмен полями записей (Bulk RFX). Bulk RFX аналогичен RFX. Сведения о различиях см. в разделе Recordseting Recordseting Records in Bulk (ODBC).
Глобальные функции RFX обмениваются данными между столбцами источника данных и элементами данных поля в наборе записей. Вы записываете вызовы функции RFX в функции-члене набора записей DoFieldExchange . В этом разделе описываются функции кратко и показаны типы данных, для которых доступны функции RFX. Технический примечание 43 описывает, как писать собственные функции RFX для дополнительных типов данных.
Синтаксис функции RFX
Каждая функция RFX принимает три параметра (и некоторые принимают необязательный четвертый или пятый параметр):
Указатель на объект CFieldExchange . Вы просто передаете указатель, переданный
pFX
DoFieldExchange
в .Имя столбца, отображаемого в источнике данных.
Имя соответствующего элемента данных поля или элемента данных параметра в классе наборов записей.
(Необязательно) В некоторых функциях максимальная длина передаваемой строки или массива. Это значение по умолчанию — 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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по