Raccolta Parameters (ADO)

Contiene tutti gli oggetti Parameter di un oggetto Command.

Osservazioni

Per un oggetto Command è disponibile una raccolta Parameters costituita da oggetti Parameter.

Usando il metodo Refresh sulla raccolta Parameters di un oggetto Command è possibile recuperare le informazioni sui parametri lato provider per la stored procedure o la query con parametri specificata nell'oggetto Command. Alcuni provider non supportano chiamate di stored procedure o query con parametri. Se si chiama il metodo Refresh sulla raccolta Parameters quando si usa tale provider, verrà restituito un errore.

Se non sono stati definiti oggetti Parameter personalizzati e si accede alla raccolta Parameters prima di chiamare il metodo Refresh, ADO chiamerà automaticamente il metodo e popolerà la raccolta.

È possibile ridurre al minimo le chiamate al provider per migliorare le prestazioni se si conoscono le proprietà dei parametri associati alla stored procedure o alla query con parametri che si vuole chiamare. Usare il metodo CreateParameter per creare oggetti Parameter con le impostazioni di proprietà appropriate e usare il metodo Append per aggiungerli alla raccolta Parameters. In questo modo è possibile impostare e restituire i valori dei parametri senza dover chiamare il provider per le informazioni sui parametri. Se si scrive in un provider che non fornisce informazioni sui parametri, è necessario popolare manualmente la raccolta Parameters usando questo metodo per poter usare i parametri. Usare il metodo Delete per rimuovere gli oggetti Parameter dalla raccolta Parameters, se necessario.

Gli oggetti nella raccolta Parameters di un oggetto Recordset vengono esclusi dall'ambito (pertanto diventano non disponibili) alla chiusura dell'oggetto Recordset.

Quando si chiama una stored procedure con Command, il valore restituito/parametro di output di una stored procedure viene recuperato nel modo seguente:

  1. Quando si chiama una stored procedure senza parametri, è necessario chiamare il metodo Refresh sulla raccolta Parameters prima di chiamare il metodo Execute sull'oggetto Command.

  2. Quando si chiama una stored procedure con parametri e si accoda in modo esplicito un parametro alla raccolta Parameters con Append, il valore restituito /parametro di output deve essere aggiunto alla raccolta Parameters. Il valore restituito deve essere prima accodato alla raccolta Parameters. Usare Append per aggiungere gli altri parametri nella raccolta Parameters nell'ordine di definizione. Ad esempio, la stored procedure SPWithParam ha due parametri. Il primo parametro, InParam, è un parametro di input definito come adVarChar (20) e il secondo parametro , OutParam, è un parametro di output definito come adVarChar (20). È possibile recuperare il valore restituito/parametro di output con il codice seguente.

    ' 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. Quando si chiama una stored procedure con parametri e si configurano i parametri chiamando il metodo Item sulla raccolta Parameters, è possibile recuperare il valore restituito/parametro di output della stored procedure dalla raccolta Parameters. Ad esempio, la stored procedure SPWithParam ha due parametri. Il primo parametro, InParam, è un parametro di input definito come adVarChar (20) e il secondo parametro , OutParam, è un parametro di output definito come adVarChar (20). È possibile recuperare il valore restituito/parametro di output con il codice seguente.

    ' 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.  
    

In questa sezione viene trattato l'argomento seguente.

Vedere anche

Metodo Append (ADO)
Metodo CreateParameter (ADO)
Oggetto Parameter