Вставка строк с помощью SQLBulkOperations

Вставка данных с помощью SQLBulkOperations аналогична обновлению данных с помощью SQLBulkOperations , так как она использует данные из привязанных буферов приложений.

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

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

  1. Задает атрибут инструкции SQL_ATTR_ROW_ARRAY_SIZE число строк для вставки и размещения новых значений данных в привязанных буферах приложения. Сведения о том, как отправлять длинные данные с помощью SQLBulkOperations, см. в разделе Long Data и SQLSetPos и SQLBulkOperations.

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

  3. Вызывает SQLBulkOperations с аргументом операции, заданным для SQL_ADD.

После возврата SQLBulkOperations текущая строка не изменяется. Если столбец закладки (столбец 0) привязан, SQLBulkOperations возвращает закладки вставленных строк в буфере набора строк, привязанных к столбцу.