Compartir a través de


Objeto Command (ADO)

Define un comando específico que pretende ejecutar en un origen de datos.

Comentarios

Use un objeto Command para consultar una base de datos y devolver registros en un objeto Recordset, ejecutar una operación masiva o manipular la estructura de una base de datos. Dependiendo de la funcionalidad del proveedor, algunas colecciones, métodos o propiedades de Command pueden generar un error cuando se hace referencia a ellos.

Con las colecciones y propiedades de un objeto Command, puede hacer lo siguiente:

  • Definir el texto ejecutable del comando (por ejemplo, una instrucción SQL) con la propiedad CommandText. Como alternativa, para las estructuras de comandos o consultas que no sean cadenas simples (por ejemplo, consultas de plantilla XML), defina el comando con la propiedad CommandStream.

  • Opcionalmente, indicar el dialecto de comandos usado en CommandText o CommandStream con la propiedad Dialect.

  • Definir consultas parametrizadas o argumentos de procedimiento almacenado con objetos Parameter y la colección Parameters.

  • Indicar si los nombres de parámetro se deben pasar al proveedor con la propiedad NamedParameters.

  • Ejecutar un comando y devuelva un objeto Recordset, si procede, con el método Execute.

  • Especificar el tipo de comando con la propiedad CommandType antes de la ejecución para optimizar el rendimiento.

  • Controlar si el proveedor guarda una versión preparada (o compilada) del comando antes de la ejecución con la propiedad Prepared.

  • Establecer el número de segundos que un proveedor esperará a que se ejecute un comando con la propiedad CommandTimeout.

  • Asociar una conexión abierta con un objeto Command estableciendo su propiedad ActiveConnection.

  • Establecer la propiedad Name para identificar el objeto Command como un método en el objeto Connection asociado.

  • Pasar un objeto Command a la propiedad Source de un objeto Recordset para obtener datos.

  • Acceder a las propiedades específicas del proveedor con la colección Properties.

Nota

Para ejecutar una consulta sin usar un objeto Command, pase una cadena de consulta al método Execute del objeto Connection o al método Open de un objeto Recordset. Pero se requiere un objeto Command cuando desea conservar el texto del comando y volver a ejecutarlo, o bien usar parámetros de consulta.

Para crear un objeto Command independientemente de un objeto Connection definido previamente, establezca su propiedad ActiveConnection en una cadena de conexión válida. ADO todavía crea un objeto Connection, pero no lo asigna a una variable de objeto. Pero si va a asociar varios objetos Command mediante la misma conexión, debe crear y abrir explícitamente un objeto Connection. Esto asigna el objeto Connection a una variable de objeto. Asegúrese de que el objeto Connection se abrió correctamente antes de asignarlo a la propiedad ActiveConnection del objeto Command, ya que la asignación de un objeto Connection cerrado produce un error. Si no establece la propiedad ActiveConnection del objeto Command en esta variable de objeto, ADO crea un nuevo objeto Connection para cada objeto Command, incluso si usa la misma cadena de conexión.

Para ejecutar un objeto Command, llámelo por su propiedad Name en el objeto Connection asociado. Command debe tener su propiedad ActiveConnection establecida en el objeto Connection. Si Command tiene parámetros, pase sus valores como argumentos al método.

Si se ejecutan dos o más objetos Command en la misma conexión y el objeto Command es un procedimiento almacenado con parámetros de salida, se produce un error. Para ejecutar cada objeto Command, use conexiones independientes o desconecte todos los demás objetos Command de la conexión.

La colección Parameters es el miembro predeterminado del objeto Command. Como resultado, las dos instrucciones de código siguientes son equivalentes.

objCmd.Parameters.Item(0)  
objCmd(0)  
  • El objeto Command no es seguro para el scripting.

Esta sección contiene los temas siguientes.

Consulte también

Objeto de conexión (ADO)
Colección de parámetros (ADO)
Colección de propiedades (ADO)
Apéndice A: Proveedores