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 se lo stato è stato modificato dopo l'ultimo recupero.

Valore della matrice di stato riga Description
SQL_ROW_SUCCESS La riga è stata estratta con successo e non è stata modificata da quando è stata estratta l'ultima volta.
SQL_ROW_SUCCESS_WITH_INFO La riga è stata recuperata correttamente e non è stata modificata da quando è stata recuperata l'ultima volta. Tuttavia, è stato restituito un avviso relativo alla riga.
SQL_ROW_ERROR Errore durante il recupero della riga.
SQL_ROW_UPDATED (RIGA_SQL_AGGIORNATA) La riga è stata acquisita correttamente ed è stata aggiornata da quando è stata acquisita l'ultima volta. Se la riga viene recuperata nuovamente o aggiornata da SQLSetPos, il relativo stato viene modificato nel nuovo stato.

Alcuni driver non possono rilevare modifiche ai dati e pertanto non possono restituire questo valore. Per determinare se un driver può rilevare gli aggiornamenti alle righe nuovamente recuperate, un'applicazione chiama SQLGetInfo con l'opzione SQL_ROW_UPDATES.
SQL_ROW_DELETED La riga è stata eliminata da quando è stata consultata l'ultima volta.
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.