до втрати RFX_Text_Bulk (CFieldExchange * pFX, LPCTSTR szName, LPSTR * prgStrVals, довгий ** prgLengths, int nMaxLength );
Параметри
pFX
Вказівник на об'єкт CFieldExchange . Цей об'єкт містить інформацію, щоб визначити контекст для кожного виклику функції. Докладніше, перегляньте статтю запису обміну даними: як RFX працює в Visual C++ програміста керівництво.
szName
Ім'я стовпця даних.
prgStrVals
Вказівник на масив значень LPSTR . Цей масив буде зберігати дані передаються з джерела даних в наборі записів. Зверніть увагу, що з поточною версією ODBC, ці значення не може бути Юнікод.
prgLengths
Вказівник на масив для довгих цілих. Цей масив буде зберігати довжина в байтах кожного значення в масиві вказав на prgStrVals. Ця довжина виключає null припинення характер. Зверніть увагу, що значення SQL_NULL_DATA буде зберігатися, якщо відповідний елемент даних містить значення Null. Для більш докладної інформації див функції ODBC API SQLBindCol в SDK програміста ODBC посилання.
nMaxLength
Максимально дозволений довжина значення у масиві вказав на prgStrVals, у тому числі null припинення характер. Щоб переконатися, що дані не буде скорочено, передати значення достатньо великий, щоб вмістити найбільший елемент даних ви очікуєте.
Зауваження
Функція RFX_Text_Bulk передає кілька рядків символів дані зі стовпців джерела даних ODBC відповідного масив в CRecordset-отриманих об'єкта. Стовпець джерела даних може мати ODBC типу SQL_LONGVARCHAR, SQL_CHAR, SQL_VARCHAR, SQL_DECIMALабо SQL_NUMERIC. Набір записів повинен визначити поля даних член типу LPSTR.
Якщо ви ініціювати, prgStrVals і prgLengths для NULL, потім масивів, вони вказують на будуть виділені автоматично, з розмірами дорівнює розміру набір рядків.
Примітка Навалом поле запису exchange лише переносить дані з джерела даних до набору записів об'єкта. Для того, щоб зробити ваш набір записів оновлювану, ви повинні використовувати функції ODBC API SQLSetPos. Приклад того, як це зробити, перегляньте зразок DBFETCH.
Докладніше, перегляньте статті набір записів: вилучення записів у базову (ODBC) і Поле запису Exchange (RFX) в Visual C++ програміста керівництво.
Приклад
ClassWizard не підтримує навалом RFX функції, так що ви повинні вручну написати, перевизначити дзвінки у вашому DoBulkFieldExchange . Цей приклад показує, заклик до RFX_Text_Bulk, а також заклик до RFX_Long_Bulk, для передачі даних. Ці дзвінки передували заклик до CFieldExchange::SetFieldType. Зауважте, що для параметрів, ви повинні викликати функції RFX замість функції RFX навалом.
недійсним MultiRowSet::DoBulkFieldExchange (CFieldExchange * pFX)
{
nbsp; pFX - > SetFieldType (CFieldExchange::outputColumn);
RFX_Long_Bulk (pFX, _T ("[colRecID]"),
& m_rgID, & m_rgIDLenghts);
RFX_Text_Bulk (pFX, _T ("[colName]"),
& m_rgName, & m_rgNameLengths, 30);
pFX - > SetFieldType (CFieldExchange::inputParam);
RFX_Text (pFX, "NameParam", m_strNameParam);
}
Дивіться також RFX_Binary_Bulk, RFX_Bool_Bulk, RFX_Byte_Bulk, RFX_Date_Bulk, RFX_Double_Bulk, RFX_Int_Bulk, RFX_Long_Bulk, RFX_Single_Bulk, CFieldExchange::SetFieldType