Compartilhar via


Como usar uma instrução (ODBC)

Per utilizzare un'istruzione

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

  2. È inoltre possibile chiamare SQLSetStmtAttr per impostare le opzioni dell'istruzione o SQLGetStmtAttr per ottenere gli attributi dell'istruzione.

    Per utilizzare i cursori server, è necessario impostare gli attributi del cursore su valori diversi da quelli predefiniti.

  3. Se l'istruzione viene eseguita più volte, è possibile preparare l'istruzione per l'esecuzione con SQLPrepare.

  4. Se all'istruzione sono stati associati indicatori di parametro, è possibile associare gli indicatori di parametro alle variabili di programma mediante 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 mediante SQLExecDirect.

    -oppure-

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

    -oppure-

    Chiamare una funzione di 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 mediante SQLGetData o utilizzando una combinazione dei due metodi.

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

    -oppure-

    Recuperare il set di risultati più righe alla volta mediante un cursore a blocchi.

    -oppure-

    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 stabilire se siano presenti altri set di risultati da elaborare.

  7. Dopo l'elaborazione dei risultati, può essere necessario effettuare le seguenti azioni per consentire all'handle di istruzione di eseguire una nuova istruzione:

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

    • Se gli indicatori di parametro sono stati associati alle variabili di programma, chiamare SQLFreeStmt con Option impostato su SQL_RESET_PARAMS per liberare i parametri associati.

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

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

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