Raccolta Parameters (ADO)

Contiene tutti gli oggetti Parameter di un oggetto Command.

Commenti

Un oggetto Command ha una raccolta Parameters costituito da oggetti Parameter.

L'uso del metodo Refresh nella raccolta Parameters di un oggetto Command recupera le informazioni sui parametri del provider stored procedure query con parametri specificata nell'oggetto Command. Alcuni provider non supportano chiamate stored procedure query con parametri. Se si chiama il metodo Refresh nella raccolta Parameters quando si usa un provider di questo tipo, 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à automaticamente la raccolta.

È possibile ridurre al minimo le chiamate al provider per migliorare le prestazioni se si conoscono le proprietà dei parametri associati al stored procedure o alla query con parametri da chiamare. Usare il metodo CreateParameter per creare oggetti Parameter con le impostazioni delle 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 es esterno all'ambito (di conseguenza diventano non disponibili) quando l'oggetto Recordset viene chiuso.

Quando si chiama un stored procedure con Command, il valore restituito/parametro di output di un stored procedure viene recuperato come segue:

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

  2. Quando si chiama un stored procedure con parametri e si aggiunge 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 prima essere aggiunto alla raccolta Parameters. Usare Append per aggiungere gli altri parametri alla raccolta Parameters nell'ordine di definizione. Ad esempio, il 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 un stored procedure con parametri e si configurano i parametri chiamando il metodo Item nella raccolta Parameters, il valore restituito/parametro di output del stored procedure può essere recuperato dalla raccolta Parameters. Ad esempio, il 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.  
    

Questa sezione contiene l'argomento seguente.

Vedere anche

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