SQLGetData (libreria di cursori)
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.
In questo argomento viene illustrato l'uso della funzione SQLGetData nella libreria di cursori. Per informazioni generali su SQLGetData, vedere Funzione SQLGetData.
La libreria di cursori implementa SQLGetData creando prima un'istruzione SELECT con una clausola WHERE che enumera i valori archiviati nella cache per ogni colonna associata nella riga corrente. Esegue quindi l'istruzione SELECT per selezionare nuovamente la riga e chiama SQLGetData nel driver per recuperare i dati dall'origine dati , anziché dalla cache.
Attenzione
La clausola WHERE costruita dalla libreria di cursori per identificare la riga corrente non può identificare le righe, identificare una riga diversa o identificare più righe. Per altre informazioni, vedere Costruzione di istruzioni di ricerca.
Se l'attributo dell'istruzione SQL_ATTR_USE_BOOKMARKS è impostato su SQL_UB_VARIABLE, è possibile chiamare SQLGetData nella colonna 0 per restituire i dati dei segnalibri.
Le chiamate a SQLGetData sono soggette alle restrizioni seguenti:
Non è possibile chiamare SQLGetData per i cursori forward-only.
È possibile chiamare SQLGetData solo quando vengono soddisfatte le condizioni seguenti: un'istruzione SELECT ha generato il set di risultati, l'istruzione SELECT non contiene un join, una clausola UNION o una clausola GROUP BY e tutte le colonne che utilizzano un alias o un'espressione nell'elenco di selezione non sono associate a SQLBindCol.
Se il driver supporta una sola istruzione attiva, la libreria di cursori recupera il resto del set di risultati prima di eseguire l'istruzione SELECT e chiamare SQLGetData.