Condividi tramite


Procedura: Elaborazione dei risultati (ODBC)

Per elaborare i risultati

  1. Recuperare le informazioni sul set di risultati.

  2. Se si utilizzano colonne associate, per ogni colonna con cui si desidera 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 utilizzano 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 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 di 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. Quando, inoltre, si utilizzano parametri associati, ogni chiamata a o eseguirà l'istruzione SQL S volte, in cui S è il numero di elementi nella matrice dei parametri associati. Di conseguenza, vi saranno set S di risultati da elaborare, in cui ogni set di risultati comprende tutti i set di risultati, i parametri di output e i codici restituiti utilizzati normalmente 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.