Compartilhar via


Resultados do processo (ODBC)

Para processar resultados

  1. Recuperar informações do conjunto de resultados.

  2. Se as colunas associadas forem usadas, para cada coluna à qual você deseja associar, chame SQLBindCol para associar um buffer de programa à coluna.

  3. Para cada linha no conjunto de resultados:

    • Chame SQLFetch para obter a próxima linha.

    • Se as colunas associadas forem usadas, use os dados agora disponíveis nos buffers de coluna associados.

    • Se colunas não associadas forem usadas, chame SQLGetData uma ou mais vezes para obter os dados de colunas não associadas após a última coluna associada. As chamadas devem SQLGetData estar em ordem crescente de número de coluna.

    • Chame SQLGetData várias vezes para obter dados de uma coluna de texto ou imagem.

  4. Quando SQLFetch sinalizar o final do conjunto de resultados retornando SQL_NO_DATA, chame SQLMoreResults para determinar se outro conjunto de resultados está disponível.

    • Se retornar SQL_SUCCESS, outro conjunto de resultados estará disponível.

    • Se ele retornar SQL_NO_DATA, não haverá mais conjuntos de resultados disponíveis.

    • Se ele retornar SQL_SUCCESS_WITH_INFO ou SQL_ERROR, chame SQLGetDiagRec para determinar se a saída de uma instrução PRINT ou RAISERROR está disponível.

      Se os parâmetros de instrução associada forem usados para parâmetros de saída ou o valor retornado de um procedimento armazenado, use os dados agora disponíveis nos buffers de parâmetro associado. Além disso, quando os parâmetros associados são usados, cada chamada para SQLExecute ou SQLExecDirect terá executado a instrução SQL S times, em que S é o número de elementos na matriz de parâmetros associados. Isso significa que haverá conjuntos S de resultados a serem processados, em que cada conjunto de resultados compreende todos os conjuntos de resultados, parâmetros de saída e códigos de retorno geralmente retornados por uma única execução da instrução SQL.

    Observação

    Quando um conjunto de resultados contém linhas de computação, cada linha de computação é disponibilizada como um conjunto de resultados separado. Esses conjuntos de resultados de computação são intercalados dentro das linhas normais e dividem linhas normais em vários conjuntos de resultados.

  5. Opcionalmente, chame SQLFreeStmt com SQL_UNBIND para liberar quaisquer buffers de coluna associados.

  6. Se outro conjunto de resultados estiver disponível, vá para a Etapa 1.

Observação

Para cancelar o processamento de um conjunto de resultados antes que o SQLFetch retorne SQL_NO_DATA, chame SQLCloseCursor.

Consulte Também

Tópicos de instruções de resultados de processamento (ODBC)