Поделиться через


Получение строк с помощью SQLBulkOperations

Данные можно перечитать в набор строк с помощью закладок вызовом SQLBulkOperations. Строки, которые нужно получить, определяются закладками в привязанном к ним столбце. Столбцы со значением SQL_COLUMN_IGNORE не извлекаются.

Чтобы выполнить массовые выборки с использованием SQLBulkOperations, приложение выполняет следующее:

  1. Извлекает и кэширует закладки всех строк, которые необходимо обновить. Если используется несколько закладок и привязка по столбцам, закладки хранятся в массиве; Если используется несколько закладок и привязка по строкам, закладки хранятся в массиве структур строк.

  2. Задает атрибут оператора SQL_ATTR_ROW_ARRAY_SIZE число строк для получения и привязки буфера, содержащего значение закладки или массив закладок, к столбцу 0.

  3. Задает значение в буфере длины или индикатора каждого столбца по мере необходимости. Это длина байтов данных или SQL_NTS столбцов, привязанных к строковым буферам, длина байтов данных для столбцов, привязанных к двоичным буферам, и SQL_NULL_DATA для всех столбцов, которые должны иметь значение NULL. Приложение задает значение в буфере длины или индикатора для этих столбцов, которые должны быть заданы по умолчанию (если он существует) или NULL (если он не имеется) для SQL_COLUMN_IGNORE.

  4. Вызывает SQLBulkOperations с аргументом Operation, установленным в SQL_FETCH_BY_BOOKMARK.

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