Condividi tramite


Utilizzo di cursori a blocchi con API

I cursori API del server non consentono soltanto di recuperare una riga per volta, ma possono essere utilizzati per recuperare più righe in ogni operazione. Quando si utilizzano database client/server, ad esempio Microsoft SQL Server 2005, risulta più efficiente recuperare più righe contemporaneamente. Il numero di righe restituito per ogni operazione di recupero rappresenta la dimensione del set di righe. I cursori con dimensione del set di righe maggiore di uno vengono definiti cursori a blocchi. Nelle API supportate è possibile utilizzare i cursori a blocchi nei modi seguenti:

  • ODBC
    • Impostare l'attributo di istruzione SQL_ATTR_ROWSET_SIZE sulla dimensione del set di righe.
    • Tramite l'associazione per colonna o per riga, associare le colonne a matrici di variabili in cui archiviare i dati delle righe restituite. Il numero di elementi di ogni matrice corrisponde alla dimensione del set di righe.
    • A ogni chiamata di SQLFetchScroll viene recuperato il numero di righe impostato tramite SQL_ATTR_ROWSET_SIZE.
  • OLE DB
    • Allocare una matrice di handle di riga e associare le colonne rappresentate da ogni handle a una matrice di variabili in cui archiviare i dati della colonna.
    • Chiamare il metodo IRowset::GetNextRows impostando il parametro cRows sul numero di handle della matrice di handle di riga e il parametro prghRows sull'indirizzo della matrice.
  • ADO
    • Impostare le dimensioni (Dim) di una variabile Variant in modo da consentire l'archiviazione dei dati del numero di righe che si desidera recuperare.
    • Facoltativamente, eseguire un posizionamento nel punto adeguato del cursore utilizzando i metodi del set di record Move, MoveFirst, MoveLast, MoveNext e MovePrevious.
    • Chiamare il metodo del set di record GetRows impostando il parametro array sull'indirizzo della variabile Variant in cui archiviare le righe e il parametro Crows sul numero di righe da restituire. Facoltativamente, impostare il parametro Start per indicare la posizione di recupero nel set di record.

Vedere anche

Altre risorse

Rowsets and SQL Server Cursors
Cursor Rowset Size

Guida in linea e informazioni

Assistenza su SQL Server 2005