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.
Conformidade
Versão Introduzida: Normas ODBC 1.0 Conformidade: ISO 92
Resumo
O SQLExecDirect executa uma instrução preparável, usando os valores atuais das variáveis marcadores de parâmetro, caso existam parâmetros na instrução.
O SQLExecDirect é a forma mais rápida de submeter uma instrução SQL para execução única.
Sintaxe
SQLRETURN SQLExecDirect(
SQLHSTMT StatementHandle,
SQLCHAR * StatementText,
SQLINTEGER TextLength);
Arguments
HandleStatement
[Entrada] Identificador do extrato.
Texto da Declaração
[Entrada] Instrução SQL a ser executada.
TextoComprimento
[Entrada] Comprimento do *StatementText em caracteres.
Devoluções
SQL_SUCCESS, SQL_SUCCESS_WITH_INFO, SQL_NEED_DATA, SQL_STILL_EXECUTING, SQL_ERROR, SQL_NO_DATA, SQL_INVALID_HANDLE ou SQL_PARAM_DATA_AVAILABLE.
Diagnóstico
Quando o SQLExecDirect retorna SQL_ERROR ou SQL_SUCCESS_WITH_INFO, um valor SQLSTATE associado pode ser obtido chamando SQLGetDiagRec com um HandleType de SQL_HANDLE_STMT e um Handle de StatementHandle. A tabela seguinte lista os valores SQLSTATE comumente retornados pelo SQLExecDirect e explica cada um no contexto desta função; a notação "(DM)" precede as descrições dos SQLSTATEs devolvidas pelo Gestor de Drivers. O código de retorno associado a cada valor SQLSTATE é SQL_ERROR, salvo indicação em contrário.
| SQLSTATE | Erro | Description |
|---|---|---|
| 01000 | Aviso geral | Mensagem informativa específica para o condutor. (Função devolve SQL_SUCCESS_WITH_INFO.) |
| 01001 | Conflito de operação de cursor |
*
O StatementText continha uma declaração de atualização ou eliminação posicionada, e nenhuma linha ou mais do que uma linha foi atualizada ou eliminada. (Para mais informações sobre atualizações em mais do que uma linha, veja a descrição do Atributo SQL_ATTR_SIMULATE_CURSOR em SQLSetStmtAttr.) (Função devolve SQL_SUCCESS_WITH_INFO.) |
| 01003 | Valor NULL eliminado na função de conjunto | O argumento StatementText continha uma função conjunta (como AVG, MAX, MIN, etc.), mas não a função de conjunto COUNT , e os valores dos argumentos NULL foram eliminados antes da função ser aplicada. (Função devolve SQL_SUCCESS_WITH_INFO.) |
| 01004 | Dados de cadeia, truncados à direita | Dados de string ou binários devolvidos para um parâmetro de entrada/saída ou saída resultavam na truncação de caracteres não em branco ou dados binários não NULL. Se fosse um valor de cadeia, era truncado à direita. (Função devolve SQL_SUCCESS_WITH_INFO.) |
| 01006 | Privilégio não revogado | * O StatementText continha uma instrução REVOKE , e o utilizador não tinha o privilégio especificado. (Função devolve SQL_SUCCESS_WITH_INFO.) |
| 01007 | Privilégio não concedido | *StatementText era uma declaração GRANT , e o utilizador não podia obter o privilégio especificado. |
| 01S02 | Valor da opção alterado | Um atributo de instrução especificado era inválido devido às condições de trabalho da implementação, pelo que um valor semelhante foi temporariamente substituído. (SQLGetStmtAttr pode ser chamado para determinar qual é o valor temporariamente substituído.) O valor substituto é válido para o HandleStatement até que o cursor seja fechado, momento em que o atributo da instrução reverte ao seu valor anterior. Os atributos da instrução que podem ser alterados são: SQL_ ATTR_CONCURRENCY SQL_ ATTR_CURSOR_TYPE SQL_ ATTR_KEYSET_SIZE SQL_ ATTR_MAX_LENGTH SQL_ ATTR_MAX_ROWS SQL_ ATTR_QUERY_TIMEOUT SQL_ ATTR_SIMULATE_CURSOR (Função devolve SQL_SUCCESS_WITH_INFO.) |
| 01S07 | Truncamento fracionado | Os dados devolvidos para um parâmetro de entrada/saída ou saída eram truncados de modo que a parte fracionária de um tipo de dado numérico fosse truncada ou a parte fracionária do componente temporal de um tipo de dado de tempo, carimbo temporal ou intervalo fosse truncada. (Função devolve SQL_SUCCESS_WITH_INFO.) |
| 07002 | Campo COUNT incorreto | O número de parâmetros especificados em SQLBindParameter era inferior ao número de parâmetros na instrução SQL contida em *StatementText. O SQLBindParameter era chamado com ParameterValuePtr definido para um ponteiro nulo, StrLen_or_IndPtr não definido para SQL_NULL_DATA ou SQL_DATA_AT_EXEC, e o InputOutputType não definido para SQL_PARAM_OUTPUT, de modo que o número de parâmetros especificados em SQLBindParameter era superior ao número de parâmetros na instrução SQL contida em *StatementText. |
| 07006 | Violação de atributo de tipo de dado restrito | O valor de dados identificado pelo argumento ValueType em SQLBindParameter para o parâmetro limitado não pôde ser convertido para o tipo de dado identificado pelo argumento ParameterType em SQLBindParameter. O valor de dados devolvido para um parâmetro limitado como SQL_PARAM_INPUT_OUTPUT ou SQL_PARAM_OUTPUT não podia ser convertido para o tipo de dado identificado pelo argumento ValueType no SQLBindParameter. (Se os valores de dados de uma ou mais linhas não pudessem ser convertidos mas uma ou mais linhas fossem devolvidas com sucesso, esta função devolve SQL_SUCCESS_WITH_INFO.) |
| 07007 | Violação de valor de parâmetro restrito | O tipo de parâmetro SQL_PARAM_INPUT_OUTPUT_STREAM é usado apenas para um parâmetro que envia e recebe dados em partes. Não é permitido um buffer limitado de entrada para este tipo de parâmetro. Este erro ocorrerá quando o tipo de parâmetro for SQL_PARAM_INPUT_OUTPUT e quando o *StrLen_or_IndPtr especificado em SQLBindParameter não for igual a SQL_NULL_DATA, SQL_DEFAULT_PARAM, SQL_LEN_DATA_AT_EXEC(len) ou SQL_DATA_AT_EXEC. |
| 07S01 | Uso inválido do parâmetro padrão | Um valor de parâmetro, definido com SQLBindParameter, era SQL_DEFAULT_PARAM, e o parâmetro correspondente não tinha valor predefinido. |
| 08S01 | Falha da ligação de comunicação | A ligação de comunicação entre o driver e a fonte de dados à qual o driver estava ligado falhou antes de a função concluir o processamento. |
| 21S01 | Inserir lista de valores não corresponde à lista de colunas | * O StatementText continha uma instrução INSERT , e o número de valores a inserir não correspondia ao grau da tabela derivada. |
| 21S02 | O grau da tabela derivada não corresponde à lista de colunas | * O StatementText continha uma instrução CREATE VIEW , e a lista de colunas não qualificada (o número de colunas especificadas para a vista nos argumentos de identificador de coluna da instrução SQL) continha mais nomes do que o número de colunas na tabela derivada definida pelo argumento de query-specification da instrução SQL. |
| 22001 | Dados da cadeia, truncamento à direita | A atribuição de um carácter ou valor binário a uma coluna resultava na truncação de dados de caracteres não em branco ou de dados binários não nulos. |
| 22002 | Variável indicadora necessária, mas não fornecida | Os dados NULL estavam ligados a um parâmetro de saída cujo StrLen_or_IndPtr definido pelo SQLBindParameter era um ponteiro nulo. |
| 22003 | Valor numérico fora do intervalo |
*
O StatementText continha uma instrução SQL que continha um parâmetro numérico limitado ou literal, e o valor fazia com que toda a parte (em vez de fracionária) do número fosse truncada quando atribuída à coluna da tabela associada. Devolver um valor numérico (como numérico ou cadeia) para um ou mais parâmetros de entrada/saída ou saída teria causado truncamento de toda a parte (em vez de fracionária) do número. |
| 22007 | Formato de data-hora inválido |
*
O StatementText continha uma instrução SQL que continha uma data, hora ou estrutura de carimbo temporal como parâmetro limitado, e o parâmetro era, respetivamente, uma data, hora ou carimbo temporal inválido. Um parâmetro de entrada/saída ou saída era atribuído a uma estrutura C, data, hora ou carimbo temporal, e um valor no parâmetro devolvido era, respetivamente, uma data, hora ou carimbo temporal inválidos. (Função devolve SQL_SUCCESS_WITH_INFO.) |
| 22008 | Excesso de campo data-hora |
*
O StatementText continha uma instrução SQL que continha uma expressão de data-hora que, quando calculada, resultava numa estrutura de data, hora ou carimbo temporal inválida. Uma expressão de data-hora calculada para um parâmetro de entrada/saída ou saída resultava numa estrutura C de data, hora ou carimbo temporal que era inválida. |
| 22012 | Divisão por zero |
*
StatementText continha uma instrução SQL que continha uma expressão aritmética que causava divisão por zero. Uma expressão aritmética calculada para um parâmetro de entrada/saída ou saída resultava numa divisão por zero. |
| 22015 | Excesso de campo de intervalo |
*StatementText continha um parâmetro numérico ou de intervalo exato que, quando convertido para um tipo de dado SQL de intervalo, causava uma perda significativa de dígitos. *StatementText continha um parâmetro de intervalo com mais do que um campo que, quando convertido para um tipo de dado numérico numa coluna, não tinha representação no tipo numérico. *StatementText continha dados de parâmetros atribuídos a um tipo SQL de intervalo, e não havia representação do valor do tipo C no tipo SQL de intervalo. Atribuir um parâmetro de entrada/saída ou de saída que fosse um tipo SQL numérico ou de intervalo exato a um tipo C de intervalo causava uma perda de dígitos significativos. Quando um parâmetro de entrada/saída ou saída era atribuído a uma estrutura C de intervalo, não havia representação dos dados na estrutura de dados de intervalo. |
| 22018 | Valor de personagem inválido para especificação de elenco |
*StatementText continha um tipo C que era um tipo numérico exato ou aproximado, um data-hora ou um tipo de dado de intervalo; o tipo SQL da coluna era um tipo de dado de carácter; e o valor na coluna não era um literal válido do tipo C limitado. Quando um parâmetro de entrada/saída ou de saída era devolvido, o tipo SQL era um número numérico exato ou aproximado, um tipo de data-hora ou um tipo de dado de intervalo; o tipo C era SQL_C_CHAR; e o valor na coluna não era um literal válido do tipo SQL limitado. |
| 22019 | Carácter de fuga inválido | * StatementText continha uma instrução SQL que continha um predicado LIKE com um ESCAPE na cláusula WHERE , e o comprimento do carácter escape após ESCAPE não era igual a 1. |
| 22025 | Sequência de fuga inválida | * StatementText continha uma instrução SQL que continha "LIKE patternvalue ESCAPE escape" na cláusula WHERE, e o carácter após o escape no valor do padrão não era de "%" ou "_". |
| 23000 | Violação de restrições de integridade | * StatementText continha uma instrução SQL que continha um parâmetro ou literal. O valor do parâmetro era NULL para uma coluna definida como NÃO NULA na coluna associada da tabela, um valor duplicado era fornecido para uma coluna restrita a conter apenas valores únicos, ou alguma outra restrição de integridade era violada. |
| 24000 | Estado do cursor inválido | Um cursor era posicionado no StatementHandle por SQLFetch ou SQLFetchScroll. Este erro é devolvido pelo Gestor de Drivers se SQLFetch ou SQLFetchScroll não tiverem devolto SQL_NO_DATA, e é devolvido pelo driver se SQLFetch ou SQLFetchScroll tiverem devolvido SQL_NO_DATA. Um cursor estava aberto mas não posicionado no HandleStatement. * O StatementText continha uma instrução de atualização ou eliminação posicionada, e o cursor era posicionado antes do início do conjunto de resultados ou depois do fim do conjunto de resultados. |
| 34000 | Nome do cursor inválido | * O StatementText continha uma instrução de atualização ou eliminação posicionada, e o cursor referenciado pela instrução em execução não estava aberto. |
| 3D000 | Nome do catálogo inválido | O nome do catálogo especificado no StatementText era inválido. |
| 3F000 | Nome de esquema inválido | O nome do esquema especificado no StatementText era inválido. |
| 40001 | Falha de serialização | A transação foi revertida devido a um bloqueio de recursos com outra transação. |
| 40003 | Conclusão da afirmação desconhecida | A ligação associada falhou durante a execução desta função, e o estado da transação não pode ser determinado. |
| 42000 | Erro de sintaxe ou violação de acesso |
*
O StatementText continha uma instrução SQL que não era preparável ou continha um erro de sintaxe. O utilizador não tinha permissão para executar a instrução SQL contida em *StatementText. |
| 42S01 | A tabela base ou vista já existe | * O StatementText continha uma instrução CREATE TABLE ou CREATE VIEW , e o nome da tabela ou do nome da vista especificado já existe. |
| 42S02 | Tabela base ou vista não encontrada |
*
O StatementText continha uma instrução DROP TABLE ou DROP VIEW , e o nome da tabela ou da vista especificado não existia. * O StatementText continha uma instrução ALTER TABLE , e o nome especificado da tabela não existia. * O StatementText continha uma instrução CREATE VIEW , e um nome de tabela ou de vista definido pela especificação da consulta não existia. * O StatementText continha uma instrução CREATE INDEX , e o nome da tabela especificado não existia. * O StatementText continha uma instrução GRANT ou REVOKE , e o nome da tabela ou da vista especificado não existia. * O StatementText continha uma instrução SELECT , e um nome de tabela ou de vista especificado não existia. * StatementText continha uma instrução DELETE, INSERT ou UPDATE , e o nome da tabela especificado não existia. * O StatementText continha uma instrução CREATE TABLE, e uma tabela especificada numa restrição (referenciando uma tabela diferente da criada) não existia. * O StatementText continha uma instrução CREATE SCHEMA , e um nome de tabela ou de vista especificado não existia. |
| 42S11 | O índice já existe |
*
O StatementText continha uma instrução CREATE INDEX , e o nome do índice especificado já existia. * O StatementText continha uma instrução CREATE SCHEMA , e o nome do índice especificado já existia. |
| 42S12 | Índice não encontrado | * StatementText continha uma instrução DROP INDEX , e o nome do índice especificado não existia. |
| 42S21 | A coluna já existe | * StatementText continha uma instrução ALTER TABLE , e a coluna especificada na cláusula ADD não é única nem identifica uma coluna existente na tabela base. |
| 42S22 | Coluna não encontrada |
*
O StatementText continha uma instrução CREATE INDEX , e um ou mais nomes de colunas especificados na lista de colunas não existiam. * O StatementText continha uma instrução GRANT ou REVOKE , e um nome de coluna especificado não existia. * O StatementText continha uma instrução SELECT,DELETE, INSERT ou UPDATE , e não existia um nome de coluna especificado. * O StatementText continha uma instrução CREATE TABLE, e uma coluna especificada numa restrição (referenciando uma tabela diferente da criada) não existia. * O StatementText continha uma instrução CREATE SCHEMA , e um nome de coluna especificado não existia. |
| 44000 | COM VIOLAÇÃO DA OPÇÃO DE VERIFICAÇÃO | O argumento StatementText continha uma instrução INSERT realizada numa tabela vista ou numa tabela derivada da tabela vista criada especificando WITH CHECK OPTION, de modo que uma ou mais linhas afetadas pela instrução INSERT deixariam de estar presentes na tabela visualizada. O argumento StatementText continha uma instrução UPDATE realizada numa tabela vista ou numa tabela derivada da tabela vista que foi criada especificando a opção WITH CHECK, de modo que uma ou mais linhas afetadas pela instrução UPDATE deixariam de estar presentes na tabela visualizada. |
| HY000 | Erro geral | Ocorreu um erro para o qual não existia um SQLSTATE específico e para o qual não estava definido nenhum SQLSTATE específico da implementação. A mensagem de erro devolvida pelo SQLGetDiagRec no buffer *MessageText descreve o erro e a sua causa. |
| HY001 | Erro de alocação de memória | O driver não conseguia alocar a memória necessária para suportar a execução ou conclusão da função. |
| HY008 | Operação cancelada | O processamento assíncrono foi ativado para o StatementHandle. A função era chamada e, antes de terminar a execução, o SQLCancel ou SQLCancelHandle era chamado no StatementHandle. Depois, a função era chamada novamente no StatementHandle. A função era chamada e, antes de terminar a execução, o SQLCancel ou SQLCancelHandle era chamado no StatementHandle a partir de um thread diferente numa aplicação multithread. |
| HY009 | Uso inválido do ponteiro nulo | (DM) *StatementText era um ponto nulo. |
| HY010 | Erro de sequência de funções | (DM) Uma função de execução assíncrona era chamada para o handle de ligação associado ao StatementHandle. Esta função assíncrona ainda estava a ser executada quando a função SQLExecDirect foi chamada. (DM) SQLExecute, SQLExecDirect ou SQLMoreResults era chamado para o StatementHandle e devolvido SQL_PARAM_DATA_AVAILABLE. Esta função era chamada antes de os dados serem recuperados para todos os parâmetros transmitidos. (DM) Uma função de execução assíncrona (não esta) era chamada para o StatementHandle e continuava a ser executada quando esta função era chamada. (DM) SQLExecute, SQLExecDirect, SQLBulkOperations ou SQLSetPos era chamado para o StatementHandle e devolvido SQL_NEED_DATA. Esta função era chamada antes de os dados serem enviados para todos os parâmetros ou colunas de dados na execução. |
| HY013 | Erro de gestão de memória | A chamada de função não podia ser processada porque os objetos de memória subjacentes não podiam ser acedidos, possivelmente devido a condições de baixa memória. |
| HY090 | Comprimento inválido da corda ou do buffer | (DM) O argumento TextLength era menor ou igual a 0, mas não igual a SQL_NTS. Um valor de parâmetro, definido com SQLBindParameter, era um ponteiro nulo, e o valor do comprimento do parâmetro não era 0, SQL_NULL_DATA, SQL_DATA_AT_EXEC, SQL_DEFAULT_PARAM, nem inferior ou igual a SQL_LEN_DATA_AT_EXEC_OFFSET. Um valor de parâmetro, definido com SQLBindParameter, não era um ponteiro nulo; o tipo de dados C era SQL_C_BINARY ou SQL_C_CHAR; e o valor do comprimento do parâmetro era inferior a 0, mas não era SQL_NTS, SQL_NULL_DATA, SQL_DATA_AT_EXEC, SQL_DEFAULT_PARAM, nem inferior ou igual a SQL_LEN_DATA_AT_EXEC_OFFSET. Um valor de comprimento de parâmetro limitado por SQLBindParameter foi definido para SQL_DATA_AT_EXEC; o tipo SQL era ou SQL_LONGVARCHAR, SQL_LONGVARBINARY ou um tipo longo específico de fonte de dados; e o SQL_NEED_LONG_DATA_LEN tipo de informação em SQLGetInfo era "Y". |
| HY105 | Tipo de parâmetro inválido | O valor especificado para o argumento InputOutputType em SQLBindParameter era SQL_PARAM_OUTPUT, e o parâmetro era um parâmetro de entrada. |
| HY109 | Posição inválida do cursor | * O StatementText continha uma instrução de atualização ou eliminação posicionada, e o cursor era posicionado (por SQLSetPos ou SQLFetchScroll) numa linha que tinha sido eliminada ou que não podia ser obtida. |
| HY117 | A ligação é suspensa devido ao estado desconhecido da transação. Apenas funções de desconexão e de leitura são permitidas. | (DM) Para mais informações sobre o estado suspenso, veja Função SQLEndTran. |
| HYC00 | Funcionalidade opcional não implementada | A combinação das definições atuais dos atributos SQL_ATTR_CONCURRENCY e SQL_ATTR_CURSOR_TYPE da instrução não era suportada pelo driver ou pela fonte de dados. O atributo da instrução SQL_ATTR_USE_BOOKMARKS foi definido para SQL_UB_VARIABLE, e o atributo da instrução SQL_ATTR_CURSOR_TYPE foi definido para um tipo de cursor para o qual o driver não suporta favoritos. |
| HYT00 | O tempo expirou | O período de tempo de espera da consulta expirava antes de a fonte de dados devolver o conjunto de resultados. O período de tempo é definido através do SQLSetStmtAttr, SQL_ATTR_QUERY_TIMEOUT. |
| HYT01 | Expirou o tempo limite de ligação | O período de timeout da ligação expirou antes de a fonte de dados responder ao pedido. O período de tempo de expiração da ligação é definido através do SQLSetConnectAttr, SQL_ATTR_CONNECTION_TIMEOUT. |
| IM001 | O driver não suporta esta função | (DM) O driver associado ao StatementHandle não suporta a função. |
| IM017 | A sondagem está desativada no modo de notificação assíncrona | Sempre que o modelo de notificação é utilizado, o sonding é desativado. |
| IM018 | O SQLCompleteAsync não foi chamado para completar a operação assíncrona anterior neste handle. | Se a chamada de função anterior no handle devolver SQL_STILL_EXECUTING e se o modo de notificação estiver ativado, o SQLCompleteAsync deve ser chamado no handle para fazer o pós-processamento e completar a operação. |
Comments
Chama o SQLExecDirect para enviar uma instrução SQL para a fonte de dados. Para mais informações sobre execução direta, consulte Execução Direta. O driver modifica a instrução para usar a forma de SQL que a fonte de dados utiliza e depois submete-a à fonte de dados. Em particular, o driver modifica as sequências de escape usadas para definir certas funcionalidades em SQL. Para a sintaxe das sequências de escape, veja Sequências de Escape no ODBC.
Pode incluir um ou mais marcadores de parâmetro na instrução SQL. Para incluir um marcador de parâmetro, incorpore um ponto de interrogação (?) na instrução SQL na posição apropriada. Para informações sobre parâmetros, consulte Parâmetros da Declaração.
Após uma chamada bem-sucedida ao SQLExecDirect que devolve um conjunto de resultados (como a partir de uma instrução SELECT ), o handle da instrução é posicionado antes da primeira linha do conjunto de resultados. Pode então chamar SQLFetch ou SQLFetchScroll para recuperar linhas, ou chamar SQLRowCount para determinar o número de linhas afetadas para instruções INSERT,UPDATE ou DELETE .
Se a instrução SQL for uma instrução SELECT e chamares SQLSetCursorName para associar um cursor a uma instrução, o driver usa o cursor especificado. Caso contrário, o driver gera um nome de cursor.
Se a fonte de dados estiver em modo de commit manual (exigindo a iniciação explícita de uma transação) e uma transação ainda não tiver sido iniciada, o driver inicia uma transação antes de enviar a instrução SQL. Para mais informações, consulte Manual-Commit Modo.
Se usar SQLExecDirect para submeter uma instrução COMMIT ou ROLLBACK , não será interoperável entre produtos de SGBD. Para comprometer ou reverter uma transação, ligue para o SQLEndTran.
Se o SQLExecDirect encontrar um parâmetro data-at-execution, devolve SQL_NEED_DATA. Envie os dados usando SQLParamData e SQLPutData. Veja SQLBindParameter, SQLParamData, SQLPutData e Envio de Dados Longos.
Se o SQLExecDirect executar uma instrução de atualização, inserção ou delete pesquisada que não afeta linhas na fonte de dados, a chamada ao SQLExecDirect retorna SQL_NO_DATA.
Se o valor do atributo da instrução SQL_ATTR_PARAMSET_SIZE for maior que 1 e a instrução SQL contiver pelo menos um marcador de parâmetro, o SQLExecDirect executa a instrução SQL uma vez para cada conjunto de valores de parâmetro dos arrays apontados pelo argumento ParameterValuePointer na chamada ao SQLBindParameter. Para mais informações, consulte Arrays of Parameter Values.
Se os favoritos estiverem ativados e for executada uma consulta que não suporta favoritos, o driver deve tentar coagir o ambiente para um que suporte favoritos, alterando o valor de um atributo e retornando SQLSTATE 01S02 (Valor da opção alterado). Se o atributo não puder ser alterado, o driver deve devolver SQLSTATE HY024 (valor do atributo inválido).
Observação
Ao usar pooling de ligações, não execute instruções SQL que alterem a base de dados ou o contexto da base de dados, como a instrução USE no SQL Server, que altera o catálogo usado por uma fonte de dados.
Exemplo de código
Consulte SQLBindCol, SQLGetData e Programa ODBC de Exemplo.
Funções relacionadas
| Para obter informações sobre | Veja |
|---|---|
| Ligar um buffer a uma coluna num conjunto de resultados | Função SQLBindCol |
| Cancelamento do processamento de extratos | Função SQLCancel |
| Execução de uma operação de commit ou rollback | Função SQLEndTran |
| Execução de uma instrução SQL preparada | Função SQLExecute |
| Obtenção de várias linhas de dados | Função SQLFetch |
| Buscar um bloco de dados ou percorrer um conjunto de resultados | Função SQLFetchScroll |
| Devolver um nome de cursor | Função SQLGetCursorName |
| Buscar parte ou a totalidade de uma coluna de dados | Função SQLGetData |
| Devolver o próximo parâmetro para enviar dados para | Função SQLParamData |
| Preparação de uma declaração para execução | Função SQLPrepare |
| Envio de dados de parâmetros no momento da execução | Função SQLPutData |
| Definir um nome de cursor | Função SQLSetCursorName |
| Definir um atributo de instrução | Função SQLSetStmtAttr |