Использование библиотеки курсоров ODBC

Important

Эта функция будет удалена в будущей версии Windows. Избегайте использования этой функции в новых разработках и планируйте изменять приложения, в которых используется эта функция в настоящее время. Корпорация Майкрософт рекомендует использовать функции курсора драйвера.

Чтобы использовать библиотеку курсоров ODBC, приложение:

  1. Вызывает SQLSetConnectAttr с атрибутом SQL_ATTR_ODBC_CURSORS, чтобы указать, как следует использовать библиотеку курсоров с конкретным соединением. Библиотека курсоров всегда может использоваться (SQL_CUR_USE_ODBC), применяться только если драйвер не поддерживает прокручиваемые курсоры (SQL_CUR_USE_IF_NEEDED) или никогда не используется (SQL_CUR_USE_DRIVER).

  2. Вызывает SQLConnect, SQLDriverConnect или SQLBrowseConnect для подключения к источнику данных.

  3. Вызывает SQLSetStmtAttr для указания типа курсора (SQL_ATTR_CURSOR_TYPE), параллелизма (SQL_ATTR_CONCURRENCY) и размера рядов (SQL_ATTR_ROW_ARRAY_SIZE). Библиотека курсоров поддерживает курсоры только вперёд и статические. Курсоры только вперёд должны быть только для чтения, а статические — только для чтения или использовать оптимистичное управление параллелизмом для сравнения значений.

  4. Выделяет один или несколько буферов наборов строк и вызывает SQLBindCol один или несколько раз для привязки этих буферов к столбцам наборов результатов.

  5. Генерирует набор результатов путём выполнения оператора SELECT или процедуры, либо вызова функции каталога. Если приложение выполняет позиционированные операторы обновления, оно должно выполнить оператор SELECT UPDATE FOR для генерации результатов.

  6. Вызывает SQLFetch или SQLFetchScroll один или несколько раз для прокрутки по набору результатов.

Приложение может изменять значения данных в буферах рядов. Для обновления буферов наборов строк данными из кэша библиотеки курсора приложение вызывает SQLFetchScroll с аргументом FetchOrientation в SQL_FETCH_RELATIVE и аргументом FetchOffset в 0.

Чтобы получить данные из неограниченного столбца, приложение вызывает SQLSetPos , чтобы разместить курсор на нужной строке. Затем он вызывает SQLGetData для получения данных.

Чтобы определить количество строк, полученных из источника данных, приложение вызывает SQLRowCount.