Использование привязки наборов строк (ODBC)
Применимо: SQL Server
База данных SQL Azure Управляемый экземпляр SQL Azure
azure Synapse Analytics Analytics
Platform System (PDW)
Использование привязки на уровне столбца
Для каждого привязанного столбца выполните следующие действия.
Выделите массив из R (или больше) буферов столбцов для хранения значений данных, где R — это число строк в наборе строк.
При необходимости выделите массив из R (или больше) буферов столбцов для хранения длин данных.
Вызовите SQLBindCol , чтобы связать значение данных столбца и массивы длин данных со столбцом набора строк.
Вызовите функцию SQLSetStmtAttr , чтобы задать следующие атрибуты.
Задайте число строк в наборе строк (R) в атрибуте SQL_ATTR_ROW_ARRAY_SIZE.
Задайте значение SQL_ATTR_ROW_BIND_TYPE, равное SQL_BIND_BY_COLUMN.
Задайте значение атрибута SQL_ATTR_ROWS_FETCHED_PTR, которое указывает на переменную SQLUINTEGER, предназначенную для хранения количества извлеченных строк.
Задайте значение SQL_ATTR_ROW_STATUS_PTR, которое указывает на массив array[R] переменных SQLUSSMALLINT, в котором будут храниться признаки состояния строк.
Выполните инструкцию.
При каждом вызове функции SQLFetch или SQLFetchScroll происходит получение числа строк, равного R, и передача данных в привязанные столбцы.
Использование привязки на уровне строки
Выделите массив array[R] структур, где R — это число строк в наборе строк. Структура должна иметь по одному элементу для каждого столбца, а каждый элемент должен состоять из двух частей:
первая часть — это переменная подходящего типа данных, в которой будут храниться данные столбца;
вторая часть — это переменная SQLINTEGER, в которой будет храниться признак состояния столбца.
Вызовите функцию SQLSetStmtAttr , чтобы задать следующие атрибуты.
Задайте число строк в наборе строк (R) в атрибуте SQL_ATTR_ROW_ARRAY_SIZE.
В атрибуте SQL_ATTR_ROW_BIND_TYPE задайте размер структуры, выделенной в шаге 1.
Задайте значение атрибута SQL_ATTR_ROWS_FETCHED_PTR, которое указывает на переменную SQLUINTEGER, предназначенную для хранения количества извлеченных строк.
В атрибуте SQL_ATTR_PARAMS_STATUS_PTR задайте указатель на массив array[R] из переменных SQLUSSMALLINT, в котором будут храниться признаки состояния строк.
Для каждого столбца из результирующего набора вызовите функцию SQLBindCol , чтобы связать значение данных и указатель на длину данных столбца с соответствующими им переменными в первом элементе массива структур, выделенных в шаге 1.
Выполните инструкцию.
При каждом вызове функции SQLFetch или SQLFetchScroll происходит получение числа строк, равного R, и передача данных в привязанные столбцы.
См. также
Инструкции по использованию курсоров (ODBC)
Способы реализации курсоров
Использование курсоров (ODBC)