Прокрутка и выборка строк

Применимо к:SQL ServerAzure SQL DatabaseAzure Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)

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

  • Задайте возможности курсора с помощью SQLSetStmtAttr.

  • Откройте курсор с помощью SQLExecute или SQLExecDirect.

  • Прокрутите и извлеките строки с помощью SQLFetch или SQLFetchScroll.

Как SQLFetch, так и SQLFetchSroll могут одновременно получать блоки строк. Число возвращаемых строк указывается с помощью SQLSetStmtAttr для задания параметра SQL_ATTR_ROW_ARRAY_SIZE.

Приложения ODBC могут использовать SQLFetch для получения с помощью курсора только для пересылки.

SQLFetchScroll используется для прокрутки курсора. SQLFetchScroll поддерживает получение следующих, предыдущих, первых и последних наборов строк в дополнение к относительному получению (получение набора строк n из начала текущего набора строк) и абсолютное получение (получение набора строк, начиная с строки n). Если n является отрицательным в абсолютном выборке, строки учитываются из конца результирующий набор. Абсолютная выборка строки -1 означает, что будет возвращен набор строк, начинающийся с последней строки результирующего набора.

Приложения, использующие SQLFetchScroll только для его возможностей блок-курсора, например отчетов, скорее всего, проходят через результирующий набор один раз, используя только параметр для получения следующего набора строк. С другой стороны, приложения на основе экрана могут воспользоваться всеми возможностями SQLFetchScroll. Если приложение задает размер набора строк в число строк, отображаемых на экране, и привязывает буферы экрана к результирующий набор, он может перевести операции полосы прокрутки непосредственно на вызовы SQLFetchScroll.

Операция полосы прокрутки Параметр прокрутки SQLFetchScroll
PAGE UP SQL_FETCH_PRIOR
PAGE DOWN SQL_FETCH_NEXT
На строку вверх SQL_FETCH_RELATIVE с FetchOffset равным -1
На строку вниз SQL_FETCH_RELATIVE с FetchOffset, равным 1
Ползунок вверх SQL_FETCH_FIRST
Ползунок вниз SQL_FETCH_LAST
Случайное положение ползунка SQL_FETCH_ABSOLUTE

В этом разделе

См. также

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