Partilhar via


Coleção de Parâmetros (ADO)

Contém todos os objetos de parâmetro de um objeto de comando.

Observações

Um objeto Command tem uma coleção Parameters composta por objetos Parameter .

O uso do método Refresh na coleção Parameters de um objeto Command recupera informações de parâmetro do provedor para o procedimento armazenado ou a consulta parametrizada especificada no objeto Command. Alguns provedores não dão suporte a chamadas de procedimento armazenado ou consultas parametrizadas; chamar o método Refresh na coleção Parameters ao usar esse provedor retornará um erro.

Se você não tiver definido seus próprios objetos Parameter e acessar a coleção Parameters antes de chamar o método Refresh , o ADO chamará automaticamente o método e preencherá a coleção para você.

Você pode minimizar as chamadas ao provedor para melhorar o desempenho se souber as propriedades dos parâmetros associados ao procedimento armazenado ou à consulta parametrizada que deseja chamar. Use o método CreateParameter para criar objetos Parameter com as configurações de propriedade apropriadas e usar o método Append para adicioná-los à coleção parâmetros de. Isso permite que você defina e retorne valores de parâmetro sem precisar chamar o provedor para as informações do parâmetro. Se você estiver gravando em um provedor que não fornece informações de parâmetro, deverá preencher manualmente a coleção Parameters usando esse método para poder usar parâmetros. Use o método Delete para remover objetos Parameter da coleção Parameters , se necessário.

Os objetos na coleção Parameters de um Conjunto de Registros saem do escopo (portanto, ficando indisponíveis) quando o Conjunto de Registros é fechado.

Ao chamar um procedimento armazenado com o Comando, o parâmetro de valor/saída retornado de um procedimento armazenado é recuperado da seguinte maneira:

  1. Ao chamar um procedimento armazenado que não tem parâmetros, o método Refresh na coleção Parameters deve ser chamado antes de chamar o método Execute no objeto Command .

  2. Ao chamar um procedimento armazenado com parâmetros e acrescentar explicitamente um parâmetro à coleção Parameters com Append, o parâmetro de valor/saída retornado deve ser acrescentado à coleção Parameters . O valor retornado deve primeiro ser acrescentado à coleção Parameters . Use Append para adicionar os outros parâmetros à coleção Parameters na ordem de definição. Por exemplo, o procedimento armazenado SPWithParam tem dois parâmetros. O primeiro parâmetro, InParam, é um parâmetro de entrada definido como adVarChar (20) e o segundo parâmetro, OutParam, é um parâmetro de saída definido como adVarChar (20). Você pode recuperar o parâmetro de valor/saída retornado com o código a seguir.

    ' 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. Ao chamar um procedimento armazenado com parâmetros e configurar os parâmetros chamando o método Item na coleção Parameters , o parâmetro de valor/saída retornado do procedimento armazenado pode ser recuperado da coleção Parameters . Por exemplo, o procedimento armazenado SPWithParam tem dois parâmetros. O primeiro parâmetro, InParam, é um parâmetro de entrada definido como adVarChar (20) e o segundo parâmetro, OutParam, é um parâmetro de saída definido como adVarChar (20). Você pode recuperar o parâmetro de valor/saída retornado com o código a seguir.

    ' 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 seção contém o tópico a seguir.

Consulte Também

do Método Acréscimo (ADO)
método CreateParameter (ADO)
de objeto de parâmetro