Compartilhar via


Como usar uma instrução (ODBC)

Para usar uma instrução

  1. Chame com um HandleType de SQL_HANDLE_STMT para alocar um identificador da instrução.

  2. Opcionalmente, chame SQLSetStmtAttr para definir opções de instrução ou SQLGetStmtAttr para obter atributos de instrução.

    Para usar cursores de servidor, você deve definir atributos de cursor como valores diferente de seus padrões.

  3. Opcionalmente, se a instrução for executada várias vezes, prepare a instrução para execução com SQLPrepare.

  4. Opcionalmente, se a instrução associou marcadores de parâmetro, associe os marcadores de parâmetro para programar variáveis usando SQLBindParameter. Se a instrução tiver sido preparada, você poderá chamar SQLNumParams e SQLDescribeParam para localizar o número e características dos parâmetros.

  5. Execute uma instrução diretamente usando SQLExecDirect.

    - ou -

    Se a instrução tiver sido preparada, execute-a várias vezes usando .

    - ou -

    Chame uma função de catálogo, que retorna resultados.

  6. Processe os resultados associando as colunas de conjunto de resultados a variáveis do programa, movendo dados das colunas do conjunto de resultados para programar variáveis usando SQLGetData ou uma combinação de dois métodos.

    Busque uma linha de cada vez no conjunto de resultados de uma instrução.

    - ou -

    Busque várias linhas por vez no conjunto de resultados usando um cursor em bloco.

    - ou -

    Chame SQLRowCount para determinar o número de linhas afetadas por uma instrução INSERT, UPDATE ou DELETE.

    Se a instrução SQL tiver vários conjuntos de resultados, chame SQLMoreResults no fim de cada conjunto de resultados para ver se há outros conjuntos de resultados para processar.

  7. Depois que os resultados forem processados, as ações a seguir poderão ser necessárias para tornar o identificador da instrução disponível para executar uma nova instrução:

    • Se você não tiver chamado SQLMoreResults até ele retornar SQL_NO_DATA, chame SQLCloseCursor para fechar o cursor.

    • Se você associar marcadores de parâmetro para programar variáveis, chame SQLFreeStmt com Option definido como SQL_RESET_PARAMS para liberar os parâmetros associados.

    • Se você associar colunas do conjunto de resultados para programar variáveis, chame SQLFreeStmt com Option definido como SQL_UNBIND para liberar as colunas associadas.

    • Para reutilizar o identificador de instrução, vá para Etapa 2.

  8. Chame SQLFreeHandle com um HandleType de SQL_HANDLE_STMT para liberar o identificador de instrução.