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

Важно!

Эта функция будет удалена в будущей версии 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 FOR UPDATE , чтобы создать результирующий набор.

  6. Вызывает SQLFetch или SQLFetchScroll один или несколько раз, чтобы прокручивать результирующий набор.

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

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

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