Курсоры последовательного доступа
Типичный тип курсора по умолчанию, называемый курсором только вперед (или не прокручиваемым), может перемещаться только вперед по результирующем набору. Курсор только вперед не поддерживает прокрутку (возможность перемещения вперед и назад в результирующем наборе); он поддерживает только получение строк от начала до конца результирующих наборов. При использовании некоторых курсоров только вперед (например, с библиотекой курсоров SQL Server) все инструкции вставки, обновления и удаления, сделанные текущим пользователем (или зафиксированные другими пользователями), которые влияют на строки в результирующем наборе, отображаются по мере получения строк. Так как курсор нельзя прокручивать назад, изменения, внесенные в строки базы данных после их извлечения, не видны через курсор.
После обработки данных для текущей строки курсор только вперед освобождает ресурсы, которые использовались для хранения данных. Курсоры последовательного доступа по умолчанию являются динамическими. Это значит, что все изменения обнаруживаются в процессе обработки текущей строки. Благодаря этому курсор открывается быстрее, а в результирующем наборе отображаются изменения, внесенные в базовые таблицы.
Хотя курсоры только вперед не поддерживают обратную прокрутку, приложение может вернуться к началу результирующих наборов, закрыв и повторно открыв курсор. Это эффективный способ работы с небольшими объемами данных. В качестве альтернативы приложение может считывать результирующий набор один раз, кэшировать данные локально, а затем просматривать локальный кэш данных.
Если приложению не требуется прокручивать результирующий набор, курсор только вперед — лучший способ быстро получить данные с минимальным объемом накладных расходов. Используйте adOpenForwardOnly CursorTypeEnum , чтобы указать, что вы хотите использовать курсор только для пересылки в ADO.
См. также:
Статические курсоры
Курсоры ключевого набора
Динамические курсоры