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.
O SQLBindParameter tem argumentos que descrevem o parâmetro: o seu tipo SQL, precisão e escala. O driver utiliza esta informação, ou metadados, para converter o valor do parâmetro para o tipo necessário pela fonte de dados. À primeira vista, pode parecer que o driver está numa melhor posição para conhecer os metadados dos parâmetros do que a aplicação; Afinal, o driver pode facilmente descobrir os metadados de uma coluna de conjunto de resultados. Acontece que não é esse o caso. Em primeiro lugar, a maioria das fontes de dados não fornece uma forma para o driver descobrir metadados de parâmetros. Em segundo lugar, a maioria das aplicações já conhece os metadados.
Se uma instrução SQL estiver codificada diretamente na aplicação, o autor da aplicação já conhece o tipo de cada parâmetro. Se uma instrução SQL for construída pela aplicação em tempo de execução, a aplicação pode determinar os metadados enquanto constrói a instrução. Por exemplo, quando a aplicação constrói a cláusula
WHERE OrderID = ?
pode chamar SQLColumns para a coluna OrderID.
A única situação em que a aplicação não consegue determinar facilmente os metadados dos parâmetros é quando o utilizador insere uma instrução parametrizada. Neste caso, a aplicação chama SQLPrepare para preparar a instrução, SQLNumParams para determinar o número de parâmetros, e SQLDescribeParam para descrever cada parâmetro. No entanto, como já foi referido, a maioria das fontes de dados não fornece uma forma para o driver descobrir metadados de parâmetros, pelo que o SQLDescribeParam não é amplamente suportado.