Partilhar via


Resultados do processamento – Resultados do processo

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure PDW (Sistema de Plataforma de Análise) do Azure Synapse Analytics

O processamento de resultados em um aplicativo ODBC envolve primeiro determinar as características do conjunto de resultados e, em seguida, recuperar os dados em variáveis de programa usando SQLBindCol ou SQLGetData.

Para processar resultados

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

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

  3. Para cada linha no conjunto de resultados:

    • Chame SQLFetch para acessar a próxima linha.

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

    • Se forem usadas colunas desassociadas, chame SQLGetData uma ou mais vezes para obter os dados dessas colunas depois da última coluna associada. As chamadas para SQLGetData devem estar em ordem crescente de número de coluna.

    • Chame SQLGetData várias vezes para obter dados de uma coluna de textos ou imagens.

  4. Quando SQLFetch sinalizar o término do conjunto de resultados retornando SQL_NO_DATA, chame SQLMoreResults para determinar se há outro conjunto de resultados disponível.

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

    • Se SQL_NO_DATA for retornado, nenhum outro conjunto de resultados estará disponível.

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

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

    Observação

    Quando um conjunto de resultados contém linhas computadas, cada linha computada é disponibilizada como um conjunto de resultados separado. Esses conjuntos de resultados computados são intercalados nas linhas normais e dividem as linhas normais em vários conjuntos de resultados.

  5. Outra opção é chamar SQLFreeStmt com SQL_UNBIND para liberar qualquer buffer de coluna associado.

  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 SQLFetch retorne SQL_NO_DATA, chame SQLCloseCursor.

Confira também

Recuperar informações do conjunto de resultados (ODBC)