Condividi tramite


Elaborare i risultati (ODBC)

Per elaborare i risultati

  1. Recuperare le informazioni sul set di risultati.

  2. Se si usano colonne associate, per ogni colonna con cui si intende eseguire l'associazione, chiamare SQLBindCol per associare un buffer del programma alla colonna.

  3. Per ogni riga del set di risultati, effettuare le operazioni seguenti:

    • Chiamare SQLFetch per ottenere la riga successiva.

    • Se si utilizzano colonne associate, utilizzare i dati disponibili nei relativi buffer.

    • Se si usano colonne non associate, chiamare SQLGetData una o più volte per ottenere i dati relativi alle colonne non associate dopo l'ultima colonna associata. Le chiamate a SQLGetData devono essere effettuate nell'ordine di numero di colonna crescente.

    • Chiamare SQLGetData più volte per ottenere dati da una colonna di tipo text o image.

  4. Quando SQLFetch segnala la fine del set di risultati restituendo SQL_NO_DATA, chiamare SQLMoreResults per determinare se è disponibile un altro set di risultati.

    • Se viene restituito SQL_SUCCESS, è disponibile un altro set di risultati.

    • Se viene restituito SQL_NO_DATA, non è più disponibile alcun set di risultati.

    • Se viene restituito SQL_SUCCESS_WITH_INFO o SQL_ERROR, chiamare SQLGetDiagRec per determinare se è disponibile l'output da un'istruzione PRINT o RAISERROR.

      Se si utilizzano parametri di istruzione associati per i parametri di output o il valore restituito di una stored procedure, utilizzare i dati disponibili nei buffer dei parametri associati. Inoltre, quando si utilizzano parametri associati, ogni chiamata a SQLExecute o SQLExecDirect eseguirà l'istruzione SQL S volte, dove S è il numero di elementi nella matrice dei parametri associati. Ciò significa che saranno presenti set di risultati da elaborare, in cui ogni set di risultati comprende tutti i set di risultati, i parametri di output e i codici restituiti in genere restituiti da una singola esecuzione dell'istruzione SQL.

    Nota

    Quando un set di risultati contiene righe di calcolo, ogni riga di calcolo viene resa disponibile come set di risultati distinto. Tali set di risultati di calcolo vengono intercalati all'interno delle normali righe e le suddividono in più set di risultati.

  5. Facoltativamente, è possibile chiamare SQLFreeStmt con SQL_UNBIND per rilasciare qualsiasi buffer delle colonne associate.

  6. Se è disponibile un altro set di risultati, andare al passaggio 1.

Nota

Per annullare l'elaborazione di un set di risultati prima che SQLFetch restituisca SQL_NO_DATA, chiamare SQLCloseCursor.

Vedere anche

Procedure relative all'elaborazione dei risultati (ODBC)