Usare un'istruzione (ODBC)

Per usare un'istruzione

  1. Chiamare SQLAllocHandle con handleType di SQL_HANDLE_STMT per allocare un handle di istruzione.

  2. Facoltativamente, chiamare SQLSetStmtAttr per impostare le opzioni di istruzione o SQLGetStmtAttr per ottenere gli attributi dell'istruzione.

    Per usare i cursori del server, è necessario impostare gli attributi del cursore su valori diversi dai valori predefiniti.

  3. Facoltativamente, se l'istruzione verrà eseguita più volte, preparare l'istruzione per l'esecuzione con la funzione SQLPrepare.

  4. Facoltativamente, se l'istruzione include marcatori di parametro associati, associare i marcatori di parametro alle variabili di programma tramite SQLBindParameter. Se l'istruzione è stata preparata, è possibile chiamare SQLNumParams e SQLDescribeParam per trovare il numero e le caratteristiche dei parametri.

  5. Eseguire un'istruzione direttamente usando SQLExecDirect.

    - o -

    Se l'istruzione è stata preparata, eseguirla più volte usando SQLExecute.

    - o -

    Chiamare una funzione del catalogo, che restituisce i risultati.

  6. Elaborare i risultati associando le colonne del set di risultati alle variabili di programma, spostando i dati dalle colonne del set di risultati alle variabili di programma tramite SQLGetData o una combinazione dei due metodi.

    Recuperare il set di risultati di un'istruzione una riga alla volta.

    - o -

    Recuperare tramite il set di risultati diverse righe alla volta usando un cursore a blocchi.

    - o -

    Chiamare SQLRowCount per determinare il numero di righe interessate da un'istruzione INSERT, UPDATE o DELETE.

    Se l'istruzione SQL può avere più set di risultati, chiamare SQLMoreResults alla fine di ogni set di risultati per verificare se sono presenti set di risultati aggiuntivi da elaborare.

  7. Dopo l'elaborazione dei risultati, potrebbero essere necessarie le azioni seguenti per rendere disponibile l'handle di istruzione per eseguire una nuova istruzione:

    • Se SQLMoreResults non è stato chiamato fino a quando non viene restituito SQL_NO_DATA, chiamare SQLCloseCursor per chiudere il cursore.

    • Se si associano marcatori di parametro alle variabili di programma, chiamare SQLFreeStmt con Option impostato su SQL_RESET_PARAMS per liberare i parametri associati.

    • Se si associano colonne del set di risultati alle variabili di programma, chiamare SQLFreeStmt con Option impostato su SQL_UNBIND per liberare le colonne associate.

    • Per riutilizzare l'handle di istruzione, passare al passaggio 2.

  8. Chiamare SQLFreeHandle con handleType di SQL_HANDLE_STMT per liberare l'handle di istruzione.

Vedere anche

Procedure per l'esecuzione di query (ODBC)