Zona Hosting

Zona Hosting - Hosting Windows y Linux - Registros de Dominios

                              

English Version Versão em Português   

 

INICIO RÁPIDO

 

 

Objeto COMMAND

Con el objeto Command de ADO puede ejecutar consultas de la misma forma que con los objetos Connection y Recordset, excepto en que con el objeto Command puede preparar, o compilar, la consulta con el origen de la base de datos y después enviar la misma consulta repetidamente con distintos valores. La ventaja de compilar consultas de esta manera consiste en la enorme reducción del tiempo necesario para volver a enviar las modificaciones de una consulta existente. Además, puede dejar las consultas SQL parcialmente indefinidas, con la posibilidad de alterar partes de las consultas justo antes de su ejecución.

La colección Parameters del objeto Command le ahorra los problemas de tener que volver a construir la consulta cada vez que tenga que ejecutarla. Por ejemplo, si tiene que actualizar periódicamente la información de suministros y costos en un sistema de inventario Web, puede predefinir su consulta de la siguiente manera:

<%
'Abre una conexión mediante el objeto Command del objeto Connection
'no tiene un método Open para establecer la conexión
strDSN = "FILEDSN=MiBaseDeDatos.dsn"
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open strDSN

'Crea el objeto Command; utiliza la propiedad ActiveConnection para
'adjuntar la conexión al objeto Command
Set cm= Server.CreateObject("ADODB.Command")
Set cm.ActiveConnection = cn

'Define la consulta SQL
cm.CommandText = "INSERT INTO Inventory (Material, Quantity) VALUES (?, ?)"

'Guarda una versión preparada (o precompilada) de la consulta especificada en la propiedad
'CommandText antes de la primera ejecución del objeto Command.
cm.Prepared = True


'Define la información de configuración de los parámetros de la consulta
cm.Parameters.Append cm.CreateParameter("material_type",200, ,255 )
cm.Parameters.Append cm.CreateParameter("quantity",200, ,255 )

'Define y ejecuta la primera inserción
cm("material_type") = "Bombillas"
cm("quantity") = "40"
cm.Execute

'Define y ejecuta la segunda inserción
cm("material_type") = "Fusibles"
cm("quantity") = "600"
cm.Execute
%>


Si examina el ejemplo anterior, observará que la secuencia de comandos vuelve a construir repetidamente y envía una consulta SQL con distintos valores, sin tener que volver a definir y enviar la consulta al origen de datos. Compilar consultas con el objeto Command también le ofrece la ventaja de evitar los problemas que pudieran provenir de concatenar cadenas y variables para formar consultas SQL.

En particular, si utiliza la colección Parameter del objeto Command puede evitar problemas relacionados con la definición de ciertos tipos de variables de cadenas, fechas y horas. Por ejemplo, los valores de las consultas SQL que contengan apóstrofos (') pueden hacer que la consulta falle:

strSQL = "INSERT INTO Customers (FirstName, LastName) VALUES ('Roberto','O'Hara')"

Observe que el apellido O'Hara contiene un apóstrofo que entra en conflicto con los apóstrofos que se utilizan como delimitadores de datos en la palabra clave VALUES de SQL. Si enlaza el valor de la consulta como un parámetro del objeto Command, se evitan este tipo de problemas.