Partilhar via


Objeto Command (ADO)

Define um comando específico que você pretende executar em uma fonte de dados.

Comentários

Use um objeto Command para consultar um banco de dados e retornar os registros em um objeto Recordset, para executar uma operação em massa ou para processar a estrutura de um banco de dados. Dependendo da funcionalidade do provedor, algumas coleções de Command, métodos ou propriedades podem gerar um erro quando referenciadas.

Com as coleções, os métodos e as propriedades de um objeto Command, você pode fazer o seguinte:

  • Defina o texto executável do comando (por exemplo, uma instrução SQL) com a propriedade CommandText . Como alternativa, para estruturas de comando ou de consulta diferentes de cadeias de caracteres simples (por exemplo, consultas de modelo XML), definir o comando com a propriedade CommandStream.

  • Opcionalmente, indicar o dialeto de comando usado no CommandText ou CommandStream com a propriedade Dialect.

  • Definir consultas ou argumentos de procedimento armazenado parametrizados com objetos Parameter e a coleção Parameters.

  • Indicar se os nomes de parâmetros devem ser transmitidos para o provedor com a propriedade NamedParameters.

  • Executar um comando e retornar um objeto Recordset, se apropriado, com o método Execute.

  • Especificar o tipo de comando com a propriedade CommandType antes da execução para otimizar o desempenho.

  • Controlar se o provedor salva uma versão preparada (ou compilada) do comando antes da execução com a propriedade Prepared.

  • Definir o número de segundos que um provedor aguardará para a execução de um comando com a propriedade CommandTimeout.

  • Associar uma conexão aberta a um objeto Command definindo a propriedade ActiveConnection.

  • Definir a propriedade Name para identificar o objeto Command como um método no objeto Connection associado.

  • Transmitir um objeto Command para a propriedade Source de um Recordset para obter dados.

  • Acessar atributos específicos do provedor com a coleção Properties.

Observação

Para executar uma consulta sem usar um objeto Command, transmita uma cadeia de consulta para o método Execute de um objeto Connection ou para o método Open de um objeto Recordset. No entanto, um objeto Command é necessário quando você deseja persistir o texto do comando e executá-lo novamente ou usar parâmetros de consulta.

Para criar um objeto Command independentemente de um objeto Connection definido anteriormente, defina a propriedade ActiveConnection dele como uma cadeia de conexão válida. O ADO ainda cria um objeto Connection, mas não atribui esse objeto a uma variável de objeto. No entanto, se você estiver associando vários objetos Command à mesma conexão, deverá criar e abrir explicitamente um objeto Connection. Isso atribui o objeto Connection a uma variável de objeto. Verifique se o objeto Connection foi aberto com sucesso antes de atribuí-lo à propriedade ActiveConnection do objeto Command, pois a atribuição de um objeto Connection fechado causa um erro. Se você não definir a propriedade ActiveConnection do objeto Command como essa variável de objeto, o ADO criará um objeto Connection para cada objeto Command, mesmo se você usar a mesma cadeia de conexão.

Para executar um Command, chame-o pela propriedade Name no objeto Connection associado. O Command precisa ter a propriedade ActiveConnection definida como o objeto Connection. Se o Command tiver parâmetros, transmita os valores dele como argumentos para o método.

Se dois ou mais objetos Command forem executados na mesma conexão e qualquer objeto Command for um procedimento armazenado com parâmetros de saída, ocorrerá um erro. Para executar cada objeto Command, use conexões separadas ou desconecte todos os outros objetos Command da conexão.

A coleção Parameters é o membro padrão do objeto Command. Como resultado, as duas instruções de código a seguir são equivalentes.

objCmd.Parameters.Item(0)  
objCmd(0)  
  • O objeto Command não é seguro para scripts.

Esta seção contém o tópico a seguir.

Confira também

Objeto Connection (ADO)
Coleção Parameters (ADO)
Coleção Properties (ADO)
Apêndice A: Provedores