Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:sql Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
ODBC wspiera opcje ISO do określania zachowania kursorów poprzez określenie ich przewijania i czułości. Te zachowania określa się poprzez ustawienie opcji SQL_ATTR_CURSOR_SCROLLABLE i SQL_ATTR_CURSOR_SENSITIVITY podczas wywołania do SQLSetStmtAttr. Sterownik ODBC natywnego klienta SQL Server implementuje te opcje, żądając kursorów serwera o następujących cechach.
| Ustawienia zachowania kursora | Wymagane charakterystyki kursora serwera |
|---|---|
| SQL_SCROLLABLE i SQL_SENSITIVE | Kursor sterowany zestawem klawiszy oraz optymistyczna równocześność oparta na wersjach |
| SQL_SCROLLABLE i SQL_INSENSITIVE | Statyczny kursor i współbieżność tylko do odczytu |
| SQL_SCROLLABLE i SQL_UNSPECIFIED | Statyczny kursor i współbieżność tylko do odczytu |
| SQL_NONSCROLLABLE i SQL_SENSITIVE | Kursor tylko do przodu oraz optymistyczna równolegliwość oparta na wersjach |
| SQL_NONSCROLLABLE i SQL_INSENSITIVE | Domyślny zestaw wyników (tylko do przodu, tylko do odczytu) |
| SQL_NONSCROLLABLE i SQL_UNSPECIFIED | Domyślny zestaw wyników (tylko do przodu, tylko do odczytu) |
Optymistyczna równolegliwość oparta na wersjach wymaga kolumny znacznika czasu w tabeli bazowej. Jeśli na tabeli bez kolumny znacznika czasu żądana jest optymistyczna kontrola współbieżności oparta na wersjach.
Przewijanie
Gdy SQL_ATTR_CURSOR_SCROLLABLE jest ustawione na SQL_SCROLLABLE, kursor obsługuje wszystkie różne wartości parametru FetchOrientationw SQLFetchScroll. Gdy SQL_ATTR_CURSOR_SCROLLABLE jest ustawione na SQL_NONSCROLLABLE, kursor obsługuje tylko wartość FetchOrientation SQL_FETCH_NEXT.
Czułość
Gdy SQL_ATTR_CURSOR_SENSITIVITY jest ustawione na SQL_SENSITIVE, kursor odzwierciedla modyfikacje danych dokonane przez obecnego użytkownika lub zatwierdzone przez innych użytkowników. Gdy SQL_ATTR_CURSOR_SENSITIVITY jest ustawione na SQL_INSENSITIVE, kursor nie odzwierciedla modyfikacji danych.