Condividi tramite


Matrice di stato riga

Oltre ai dati, SQLFetch e SQLFetchScroll possono restituire una matrice che fornisce lo stato di ogni riga nel set di righe. Questa matrice viene specificata tramite l'attributo di istruzione SQL_ATTR_ROW_STATUS_PTR. Questa matrice viene allocata dall'applicazione e deve avere tutti gli elementi specificati dall'attributo dell'istruzione SQL_ATTR_ROW_ARRAY_SIZE. I valori nella matrice vengono impostati da SQLBulkOperations, SQLFetch, SQLFetchScroll e SQLSetPos. I valori descrivono lo stato della riga e indicano se lo stato è stato modificato dopo l'ultimo recupero.

Valore della matrice di stato riga Descrizione
SQL_ROW_SUCCESS La riga è stata recuperata correttamente e non è stata modificata dopo l'ultimo recupero.
SQL_ROW_SUCCESS_WITH_INFO La riga è stata recuperata correttamente e non è stata modificata dopo l'ultimo recupero. Tuttavia, è stato restituito un avviso relativo alla riga.
SQL_ROW_ERROR Si.è verificato un errore durante il recupero della riga.
SQL_ROW_UPDATED La riga è stata recuperata correttamente ed è stata aggiornata dopo l'ultimo recupero. Se la riga viene recuperata nuovamente o aggiornata da SQLSetPos, il relativo stato viene modificato nel nuovo stato.

Alcuni driver non rilevano modifiche ai dati e pertanto non possono restituire questo valore. Per determinare se un driver può rilevare gli aggiornamenti nelle righe recuperate, un'applicazione chiama SQLGetInfo con l'opzione SQL_ROW_UPDATES.
SQL_ROW_DELETED La riga è stata eliminata dopo l'ultimo recupero.
SQL_ROW_ADDED La riga è stata inserita da SQLBulkOperations. Se la riga viene recuperata nuovamente o viene aggiornata da SQLSetPos, lo stato è SQL_ROW_SUCCESS.

Questo valore non è impostato da SQLFetch o SQLFetchScroll.
SQL_ROW_NOROW Il set di righe si sovrappone alla fine del set di risultati e non viene restituita alcuna riga corrispondente a questo elemento della matrice di stato della riga.