Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
O processamento dos resultados numa aplicação ODBC envolve primeiro determinar as características do conjunto de resultados, depois recuperar os dados para variáveis de programa utilizando SQLBindCol ou SQLGetData.
Para processar resultados
Recuperar informações do conjunto de resultados.
Se forem usadas colunas limitadas, para cada coluna à qual queres ligar, chama o SQLBindCol para ligar um buffer de programa à coluna.
Para cada linha do conjunto de resultados:
Liga para o SQLFetch para obter a próxima linha.
Se forem usadas colunas limitadas, utilize os dados atualmente disponíveis nos buffers de colunas limitadas.
Se forem usadas colunas não vinculadas, chame SQLGetData uma ou mais vezes para obter os dados das colunas não vinculadas após a última coluna limitada. As chamadas ao SQLGetData devem ser feitas por ordem crescente de número de colunas.
Chame SQLGetData várias vezes para obter dados de uma coluna de texto ou imagem.
Quando o SQLFetch sinaliza o fim do conjunto de resultados ao devolver SQL_NO_DATA, chame o SQLMoreResults para determinar se existe outro conjunto de resultados disponível.
Se devolver SQL_SUCCESS, outro conjunto de resultados está disponível.
Se devolver SQL_NO_DATA, não há mais conjuntos de resultados disponíveis.
Se devolver 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 da instrução limitada forem usados para parâmetros de saída ou para o valor de retorno de um procedimento armazenado, use os dados agora disponíveis nos buffers de parâmetros limitados. Além disso, quando são usados parâmetros limitados, cada chamada ao SQLExecute ou SQLExecDirect terá executado a instrução SQL S vezes, onde S é o número de elementos no array de parâmetros limitados. Isto significa que haverá S conjuntos de resultados para processar, onde cada conjunto de resultados compreende todos os conjuntos de resultados, parâmetros de saída e códigos de retorno, normalmente devolvidos por uma única execução da instrução SQL.
Note
Quando um conjunto de resultados contém linhas de cálculo, cada linha de cálculo fica disponível como um conjunto de resultados separado. Estes conjuntos de resultados de cálculo estão intercalados dentro das linhas normais e dividem as linhas normais em múltiplos conjuntos de resultados.
Opcionalmente, chame SQLFreeStmt com SQL_UNBIND para libertar quaisquer buffers de coluna vinculados.
Se houver outro conjunto de resultados disponível, avance para o Passo 1.
Note
Para cancelar o processamento de um conjunto de resultados antes de o SQLFetch devolver SQL_NO_DATA, chame o SQLCloseCursor.