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


Выборка строк с помощью 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 с аргументом операции, заданным для SQL_FETCH_BY_BOOKMARK.

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