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
Uma aplicação pode atribuir armazenamento para resultados antes ou depois de executar uma instrução SQL. Se uma aplicação preparar ou executar primeiro a instrução SQL, pode perguntar sobre o conjunto de resultados antes de atribuir armazenamento para os resultados. Por exemplo, se o conjunto de resultados for desconhecido, a aplicação deve recuperar o número de colunas antes de poder atribuir armazenamento para elas.
Para associar armazenamento a uma coluna de dados, uma aplicação chama SQLBindCol e passa-o:
O tipo de dado para o qual os dados devem ser convertidos.
O endereço de um buffer de saída para os dados.
A aplicação deve alocar este buffer, e este deve ser suficientemente grande para armazenar os dados na forma em que são convertidos.
O comprimento do buffer de saída.
Este valor é ignorado se os dados devolvidos tiverem uma largura fixa em C, como um inteiro, número real ou estrutura de datas.
O endereço de um buffer de armazenamento onde deveria o número de bytes de dados disponíveis.
Uma aplicação também pode vincular colunas de conjuntos de resultados a arrays de variáveis de programa para suportar a obtenção de linhas do conjunto de resultados em blocos. Existem dois tipos diferentes de ligação de arrays:
A ligação coluna a coluna termina quando cada coluna está ligada ao seu próprio array de variáveis.
A ligação coluna a coluna é especificada chamando SQLSetStmtAttr com Attribute definido para SQL_ATTR_ROW_BIND_TYPE e ValuePtr para SQL_BIND_BY_COLUMN. Todos os arrays devem ter o mesmo número de elementos.
A ligação por linhas termina quando todos os parâmetros da instrução SQL são atribuídos como uma unidade a um array de estruturas que contêm as variáveis individuais dos parâmetros.
A ligação linha a linha é especificada chamando SQLSetStmtAttr com Attribute definido para SQL_ATTR_ROW_BIND_TYPE e ValuePtr definido para o tamanho da estrutura que contém as variáveis que receberão as colunas do conjunto de resultados.
A aplicação também define SQL_ATTR_ROW_ARRAY_SIZE ao número de elementos nos arrays de colunas ou linhas e conjuntos SQL_ATTR_ROW_STATUS_PTR e SQL_ATTR_ROWS_FETCHED_PTR.