Compartilhar via


Método Execute (comando ADO)

Executa a consulta, a instrução SQL ou o procedimento armazenado especificado na propriedade CommandText ou CommandStream do objeto Command.

Sintaxe

  
Set recordset = command.Execute( RecordsAffected, Parameters, Options )  

Valor retornado

Retorna uma referência de objeto Recordset, um fluxo ou Nothing.

Parâmetros

RecordsAffected
Opcional. Uma variável Long para a qual o provedor retorna o número de registros que a operação afetou. O parâmetro RecordsAffected só se aplica às consultas de ação ou aos procedimentos armazenados. RecordsAffected não retorna o número de registros retornados por uma consulta ou por um procedimento armazenado que retorna resultados. Para obter essas informações, use a propriedade RecordCount. O método Execute não retornará as informações corretas quando usado com adAsyncExecute, simplesmente porque quando um comando é executado de maneira assíncrona, o número de registros afetados pode ainda não ser conhecido no momento em que o método é retornado.

Parâmetros
Opcional. Uma matriz Variant de valores de parâmetros usados em conjunto com a cadeia de caracteres de entrada ou o fluxo especificado em CommandText ou CommandStream. (Os parâmetros de saída não retornarão valores corretos quando transmitidos neste argumento.)

Opções
Opcional. Um valor Long que indica como o provedor deve avaliar a propriedade CommandText ou CommandStream do objeto Command. Pode ser um valor de bitmask feito por meio dos valores CommandTypeEnum e/ou ExecuteOptionEnum. Por exemplo, você poderá usar adCmdText e adExecuteNoRecords em combinação se quiser que o ADO avalie o valor da propriedade CommandText como texto e indicar que o comando deve descartar e não retornar nenhum registro que possa ser gerado quando o texto de comando for executado.

Observação

Use o valor adExecuteNoRecords de ExecuteOptionEnum para aprimorar o desempenho minimizando o processamento interno. Se adExecuteStream foi especificado, as opções adAsyncFetch e adAsynchFetchNonBlocking serão ignoradas. Não use os valores CommandTypeEnum de adCmdFile ou adCmdTableDirect com Execute. Esses valores só podem ser usados como opções com os métodos Open e Requery de um Recordset.

Comentários

O uso do método Execute em um objeto Command executa a consulta especificada na propriedade CommandText ou na propriedade CommandStream do objeto.

Os resultados são retornados em um Recordset (por padrão) ou como um fluxo de informações binárias. Para obter um fluxo binário, especifique adExecuteStream em Opções e forneça um fluxo definindo Command.Properties("Output Stream"). Um objeto Stream do ADO pode ser especificado para receber os resultados ou outro objeto de fluxo, como o objeto de resposta do IIS, pode ser especificado. Se nenhum fluxo tiver sido especificado antes da chamada a Execute com adExecuteStream, ocorrerá um erro. A posição do fluxo no retorno de Execute é específica do provedor.

Se o comando não se destinar a retornar resultados (por exemplo, uma consulta SQL UPDATE) o provedor retornará Nothing desde que a opção adExecuteNoRecords seja especificada. Caso contrário, Execute retornará um Recordset fechado. Algumas linguagens de aplicativo permitem que você ignore esse valor retornado se nenhum Recordset for desejado.

Execute vai gerar um erro se o usuário especificar um valor para CommandStream quando o CommandType for adCmdStoredProc, adCmdTable ou adCmdTableDirect.

Se a consulta tiver parâmetros, os valores atuais para os parâmetros do objeto Command serão usados, a menos que você os substitua por valores de parâmetro transmitidos com a chamada Execute. Você pode substituir um subconjunto dos parâmetros omitindo novos valores para alguns dos parâmetros ao chamar o método Execute. A ordem na qual você especifica os parâmetros é a mesma ordem na qual o método os transmite. Por exemplo, se houver quatro (ou mais) parâmetros e você quiser transmitir novos valores apenas para o primeiro e o quarto parâmetros, transmita Array(var1,,,var4) como o argumento Parameters.

Observação

Os parâmetros de saída não retornarão valores corretos quando transmitidos no argumento Parameters.

Um evento ExecuteComplete será emitido quando essa operação for concluída.

Observação

Ao emitir comandos que contêm URLs, aqueles que usam o esquema HTTP invocarão automaticamente o Microsoft OLE DB Provider para Publicação de Internet. Para obter mais informações, confira URLs absolutas e relativas.

Aplica-se A

Objeto Command (ADO)

Consulte Também

Exemplo dos métodos Execute, Requery e Clear (VB)
Exemplo dos métodos Execute, Requery e Clear (VBScript)
Exemplo dos métodos Execute, Requery e Clear (VC++)
Propriedade CommandStream (ADO)
Propriedade CommandText (ADO)
CommandTypeEnum
Método Execute (conexão ADO)
Evento ExecuteComplete (ADO)