Condividi tramite


Uso della libreria di cursori ODBC

Importante

Questa funzionalità verrà rimossa nelle versioni future di Windows. Evitare di usare questa funzionalità nel nuovo lavoro di sviluppo e pianificare la modifica delle applicazioni che attualmente usano questa funzionalità. Microsoft consiglia di usare la funzionalità cursore del driver.

Per usare la libreria di cursori ODBC, un'applicazione:

  1. Chiama SQLSetConnectAttr con un attributo di SQL_ATTR_ODBC_CURSORS per specificare la modalità di utilizzo della libreria di cursori con una determinata connessione. La libreria di cursori può essere sempre usata (SQL_CUR_USE_ODBC), usata solo se il driver non supporta cursori scorrevoli (SQL_CUR_USE_IF_NEEDED) o mai usati (SQL_CUR_USE_DRIVER).

  2. Chiama SQLConnect, SQLDriverConnect o SQLBrowseConnect per connettersi all'origine dati.

  3. Chiama SQLSetStmtAttr per specificare il tipo di cursore (SQL_ATTR_CURSOR_TYPE), la concorrenza (SQL_ATTR_CONCURRENCY) e le dimensioni del set di righe (SQL_ATTR_ROW_ARRAY_SIZE). La libreria di cursori supporta cursori forward-only e statici. I cursori forward-only devono essere di sola lettura, mentre i cursori statici possono essere di sola lettura o possono usare il controllo della concorrenza ottimistica confrontando i valori.

  4. Alloca uno o più buffer del set di righe e chiama SQLBindCol una o più volte per associare questi buffer alle colonne del set di risultati.

  5. Genera un set di risultati eseguendo un'istruzione SELECT o una routine oppure chiamando una funzione del catalogo. Se l'applicazione eseguirà istruzioni di aggiornamento posizionate, deve eseguire un'istruzione SELECT FOR UPDATE per generare il set di risultati.

  6. Chiama SQLFetch o SQLFetchScroll una o più volte per scorrere il set di risultati.

L'applicazione può modificare i valori dei dati nei buffer del set di righe. Per aggiornare i buffer del set di righe con i dati della cache della libreria di cursori, un'applicazione chiama SQLFetchScroll con l'argomento FetchOrientation impostato su SQL_FETCH_RELATIVE e l'argomento FetchOffset impostato su 0.

Per recuperare i dati da una colonna non associato, l'applicazione chiama SQLSetPos per posizionare il cursore sulla riga desiderata. Chiama quindi SQLGetData per recuperare i dati.

Per determinare il numero di righe recuperate dall'origine dati, l'applicazione chiama SQLRowCount.