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.
Na maioria das situações, os programadores de aplicações sabem se as instruções que a sua aplicação executa criarão um conjunto de resultados. Isto acontece se a aplicação usar instruções SQL codificadas diretamente escritas pelo programador. É geralmente o caso quando a aplicação constrói instruções SQL em tempo de execução: o programador pode facilmente incluir código que sinaliza se está a ser construída uma instrução SELECT ou INSERT . Em algumas situações, o programador não pode saber se uma instrução irá criar um conjunto de resultados. Isto é verdade se a aplicação fornecer uma forma para o utilizador inserir e executar uma instrução SQL. Também é verdade quando a aplicação constrói uma instrução em tempo de execução para executar um procedimento.
Nesses casos, a aplicação chama SQLNumResultCols para determinar o número de colunas no conjunto de resultados. Se isto for 0, a afirmação não criou um conjunto de resultados; Se for qualquer outro número, a instrução criou um conjunto de resultados.
A aplicação pode chamar SQLNumResultCols a qualquer momento após a instrução ser preparada ou executada. No entanto, como algumas fontes de dados não conseguem descrever facilmente os conjuntos de resultados que serão criados por instruções preparadas, o desempenho sofrerá se o SQLNumResultCols for chamado após uma instrução ser preparada, mas antes de ser executada.
Algumas fontes de dados também suportam determinar o número de linhas que uma instrução SQL devolve num conjunto de resultados. Para isso, a aplicação chama SQLRowCount. Exatamente o que a contagem de linhas representa é indicado pela definição da opção SQL_DYNAMIC_CURSOR_ATTRIBUTES2, SQL_FORWARD_ONLY_CURSOR_ATTRIBUTES2, SQL_KEYSET_CURSOR_ATTRIBUTES2 ou SQL_STATIC_CURSOR_ATTRIBUTES2 (dependendo do tipo de cursor) devolvida por uma chamada ao SQLGetInfo. Esta máscara de bits indica, para cada tipo de cursor, se a contagem de linhas devolvida é exata, aproximada ou simplesmente não está disponível. Se as contagens de linhas para cursores estáticos ou orientados por conjuntos de chaves são afetadas por alterações efetuadas através de SQLBulkOperations ou SQLSetPos, ou por declarações de atualização ou eliminação posicional, depende de outros bits devolvidos pelos mesmos argumentos de opção listados anteriormente. Para mais informações, consulte a descrição da função SQLGetInfo .