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. |