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, 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 recordset Move, MoveFirst, MoveLast, MoveNext e MovePrevious.
Chiamare il metodo del recordset 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 recordset.