Использование привязки наборов строк (ODBC)
Использование привязки на уровне столбца
Для каждого привязанного столбца выполните следующие действия.
Выделите массив из 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, и передача данных в привязанные столбцы.