Condividi tramite


Cursori forward-only

Il tipo di cursore predefinito tipico, denominato cursore forward-only (o non scorrevole), può spostarsi solo in avanti attraverso il set di risultati. Un cursore forward-only non supporta lo scorrimento (la possibilità di spostarsi avanti e indietro nel set di risultati); supporta solo il recupero di righe dall'inizio alla fine del set di risultati. Con alcuni cursori forward-only (come la libreria di cursori di SQL Server), tutte le istruzioni di inserimento, aggiornamento ed eliminazione eseguite dall'utente corrente (o di cui è stato eseguito il commit da altri utenti) che interessano le righe del set di risultati sono visibili nel momento in cui le righe vengono recuperate. Poiché lo scorrimento all'indietro del cursore non è consentito, tuttavia, le modifiche apportate alle righe nel database dopo il recupero delle righe stesse non sono visibili tramite il cursore.

Dopo l'elaborazione dei dati per la riga corrente, il cursore forward-only rilascia le risorse usate per contenere tali dati. I cursori forward-only sono dinamici per impostazione predefinita, vale a dire che tutte le modifiche vengono rilevate durante l'elaborazione della riga corrente. Questo consente maggiore rapidità di apertura del cursore e la visualizzazione nel set di risultati degli aggiornamenti apportati alle tabelle sottostanti.

I cursori forward-only non supportano lo scorrimento all'indietro, ma l'applicazione può tornare all'inizio del set di risultati chiudendo e riaprendo il cursore. Questo è un modo efficace per lavorare con piccole quantità di dati. In alternativa, l'applicazione potrebbe leggere il set di risultati una volta, memorizzare nella cache i dati in locale e quindi esplorare la cache dei dati locale.

Se l'applicazione non richiede lo scorrimento del set di risultati, il cursore forward-only è il modo migliore per recuperare rapidamente i dati con la quantità minima di sovraccarico. Usare adOpenForwardOnly CursorTypeEnum per indicare che si vuole usare un cursore forward-only in ADO.

Vedi anche

Cursori statici
Cursori keyset
Cursori dinamici