Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
As aplicações podem vincular tantas ou tão poucas colunas do conjunto de resultados quanto quiserem, incluindo a possibilidade de não vincular nenhuma coluna. Quando uma linha de dados é obtida, o driver devolve os dados das colunas limitadas à aplicação. Se a aplicação associa todas as colunas do conjunto de resultados depende da aplicação. Por exemplo, aplicações que geram relatórios geralmente têm um formato fixo; Tais aplicações criam um conjunto de resultados contendo todas as colunas usadas no relatório e depois associam e recuperam os dados de todas essas colunas. Aplicações que exibem ecrãs cheios de dados por vezes permitem ao utilizador decidir que colunas mostrar; Tais aplicações criam um conjunto de resultados contendo todas as colunas que o utilizador possa desejar, mas vinculam e recuperam os dados apenas para as colunas escolhidas pelo utilizador.
Os dados podem ser recuperados de colunas não vinculadas chamando SQLGetData. Isto é comumente chamado para recuperar dados longos, que muitas vezes excedem o comprimento de um único buffer e devem ser recuperados em partes.
As colunas podem ser vinculadas a qualquer momento, mesmo após as linhas terem sido recuperadas. No entanto, as novas ligações só entram em vigor na próxima vez que uma linha é recuperada; não são aplicadas a dados de linhas já recuperadas.
Uma variável permanece vinculada a uma coluna até que uma variável diferente esteja ligada à coluna, até que a coluna seja desvinculada ao chamar SQLBindCol com um ponteiro nulo como endereço da variável, até que todas as colunas sejam desvinculadas ao chamar SQLFreeStmt com a opção SQL_UNBIND, ou até que a instrução seja libertada. Por esta razão, a aplicação deve garantir que todas as variáveis ligadas permanecem válidas enquanto estiverem vinculadas. Para mais informações, consulte Alocação e Libertação de Buffers.
Como as ligações de colunas são apenas informação associada à estrutura da sentença, podem ser definidas em qualquer ordem. São também independentes do conjunto de resultados. Por exemplo, suponha que uma aplicação associa as colunas do conjunto de resultados gerado pela seguinte instrução SQL:
SELECT * FROM Orders
Se a aplicação então executa a instrução SQL
SELECT * FROM Lines
No mesmo manuseio da instrução, as ligações das colunas para o primeiro conjunto de resultados ainda estão em vigor porque são as ligações armazenadas na estrutura da instrução. Na maioria dos casos, esta é uma má prática de programação e deve ser evitada. Em vez disso, a aplicação deve chamar SQLFreeStmt com a opção de SQL_UNBIND para desvincular todas as colunas antigas e depois associar as novas.