Colección de parámetros (ADO)

Contiene todos los objetos Parameter de un objeto Command.

Comentarios

Un objeto Command tiene una colección Parameters formada por objetos Parameter.

El uso del método Refresh en la colección Parameters de un objeto Command recupera la información de parámetros del proveedor para el procedimiento almacenado o la consulta con parámetros especificada en el objeto Command. Algunos proveedores no admiten llamadas a procedimientos almacenados ni consultas parametrizadas; si se llama al método Refresh en la colección Parameters cuando se usa este tipo de proveedor, se devolverá un error.

Si no ha definido sus propios objetos Parameter y tiene acceso a la colección Parameters antes de llamar al método Refresh, ADO llamará automáticamente al método y rellenará automáticamente la colección.

Puede minimizar las llamadas al proveedor para mejorar el rendimiento si conoce las propiedades de los parámetros asociados con el procedimiento almacenado o la consulta con parámetros a la que desea llamar. Use el método CreateParameter para crear objetos Parameter con la configuración de propiedad adecuada y use el método Append para agregarlos a la colección Parameters. Esto le permite establecer y devolver valores de parámetro sin tener que llamar al proveedor para obtener la información de parámetros. Si va a escribir en un proveedor que no proporciona información de parámetros, debe rellenar manualmente la colección Parameters mediante este método para poder usar parámetros en absoluto. Utilice el método Delete para quitar objetos Parameter de la colección Parameters si es necesario.

Los objetos de la colección Parameters de un objeto Recordset salen del ámbito (por lo tanto, no están disponibles) cuando se cierra el objeto Recordset.

Cuando se llama a un procedimiento almacenado con Command, el valor devuelto o parámetro de salida de un procedimiento almacenado se recupera de la siguiente manera:

  1. Al llamar a un procedimiento almacenado que no tiene parámetros, se debe llamar al método Refresh de la colección Parameters antes de llamar al método Execute en el objeto Command.

  2. Cuando se llama a un procedimiento almacenado con parámetros y se agrega explícitamente un parámetro a la colección de Parameters con Append, el valor devuelto o parámetro de salida debe agregarse a la colección de Parameters. El valor devuelto debe anexarse primero a la colección Parameters. Use Append para agregar los demás parámetros a la colección Parameters en el orden de definición. Por ejemplo, el procedimiento almacenado SPWithParam tiene dos parámetros. El primer parámetro, InParam, es un parámetro de entrada definido como adVarChar (20) y el segundo parámetro, OutParam, es un parámetro de salida definido como adVarChar (20). Puede recuperar el parámetro de valor devuelto o parámetro de salida con el código siguiente.

    ' Open Connection Conn  
    set ccmd = CreateObject("ADODB.Command")  
    ccmd.Activeconnection= Conn  
    
    ccmd.CommandText="SPWithParam"  
    ccmd.commandType = 4 'adCmdStoredProc  
    
    ccmd.parameters.Append ccmd.CreateParameter(, adInteger, adParamReturnValue, , NULL)   ' return value  
    ccmd.parameters.Append ccmd.CreateParameter("InParam", adVarChar, adParamInput, 20, "hello world")   ' input parameter  
    ccmd.parameters.Append ccmd.CreateParameter("OutParam", adVarChar, adParamOutput, 20, NULL)   ' output parameter  
    
    ccmd.execute()  
    
    ' Access ccmd.parameters(0) as return value of this stored procedure  
    ' Access ccmd.parameters("OutParam") as the output parameter of this stored procedure.  
    
    
  3. Al llamar a un procedimiento almacenado con parámetros y configurar los parámetros mediante una llamada al método Item en la colección Parameters, el valor devuelto o parámetro de salida del procedimiento almacenado se puede recuperar de la colección Parameters. Por ejemplo, el procedimiento almacenado SPWithParam tiene dos parámetros. El primer parámetro, InParam, es un parámetro de entrada definido como adVarChar (20) y el segundo parámetro, OutParam, es un parámetro de salida definido como adVarChar (20). Puede recuperar el parámetro de valor devuelto o parámetro de salida con el código siguiente.

    ' Open Connection Conn  
    set ccmd = CreateObject("ADODB.Command")  
    ccmd.Activeconnection= Conn  
    
    ccmd.CommandText="SPWithParam"  
    ccmd.commandType = 4 'adCmdStoredProc  
    
    ccmd.parameters.Item("InParam").value = "hello world" ' input parameter  
    ccmd.execute()  
    
    ' Access ccmd.parameters(0) as return value of stored procedure  
    ' Access ccmd.parameters(2) or ccmd.parameters("OutParam") as the output parameter.  
    

Esta sección contiene los temas siguientes.

Consulte también

Append (método) (ADO)
Método CreateParameter (ADO)
Objeto Parameter