Freigeben über


Parameter-Sammlung (ADO)

Enthält alle Parameter- Objekte eines Command -Objekts.

Bemerkungen

Ein Command-Objekt verfügt über eine Parameters-Auflistung aus Parameter-Objekten .

Mit der Refresh-Methode für die Parameters-Auflistung eines Command-Objekts werden Anbieterparameterinformationen für die gespeicherte Prozedur oder parametrisierte Abfrage abgerufen, die im Command-Objekt angegeben ist. Einige Anbieter unterstützen keine Aufrufe gespeicherter Prozeduren oder parametrisierte Abfragen; Das Aufrufen der Refresh-Methode für die Parameters-Auflistung bei Verwendung eines solchen Anbieters gibt einen Fehler zurück.

Wenn Sie ihre eigenen Parameterobjekte nicht definiert haben und vor dem Aufrufen der Refresh-Methode auf die Parameters-Auflistung zugreifen, ruft ADO die Methode automatisch auf und füllt die Auflistung für Sie auf.

Sie können Aufrufe des Anbieters minimieren, um die Leistung zu verbessern, wenn Sie die Eigenschaften der Parameter kennen, die der gespeicherten Prozedur oder parametrisierten Abfrage zugeordnet sind, die Sie aufrufen möchten. Verwenden Sie die CreateParameter Methode, um Parameter- Objekte mit den entsprechenden Eigenschafteneinstellungen zu erstellen, und verwenden Sie die Methode Append, um sie der Parameters-Auflistung hinzuzufügen. Auf diese Weise können Sie Parameterwerte festlegen und zurückgeben, ohne den Anbieter für die Parameterinformationen aufrufen zu müssen. Wenn Sie in einen Anbieter schreiben, der keine Parameterinformationen liefert, müssen Sie die Parameters-Auflistung mithilfe dieser Methode manuell auffüllen, um parameter überhaupt verwenden zu können. Verwenden Sie die Delete-Methode , um Parameter-Objekte bei Bedarf aus der Parameters-Auflistung zu entfernen.

Die Objekte in der Parameters-Auflistung eines Recordsets gehen außerhalb des Gültigkeitsbereichs (daher nicht verfügbar), wenn das Recordset geschlossen wird.

Beim Aufrufen einer gespeicherten Prozedur mit Command wird der Rückgabewert/Ausgabeparameter einer gespeicherten Prozedur wie folgt abgerufen:

  1. Beim Aufrufen einer gespeicherten Prozedur ohne Parameter sollte die Refresh-Methode für die Parameters-Auflistung aufgerufen werden, bevor die Execute-Methode für das Command-Objekt aufgerufen wird.

  2. Beim Aufrufen einer gespeicherten Prozedur mit Parametern und explizitem Anfügen eines Parameters an die Parameters-Auflistung mit Append sollte der Rückgabewert/Ausgabeparameter an die Parameters-Auflistung angefügt werden. Der Rückgabewert muss zuerst an die Parameters-Auflistung angefügt werden. Verwenden Sie "Anfügen" , um die anderen Parameter zur Parameters-Auflistung in der Reihenfolge der Definition hinzuzufügen. Beispielsweise verfügt die gespeicherte Prozedur SPWithParam über zwei Parameter. Der erste Parameter , InParam, ist ein Eingabeparameter, der als adVarChar (20) definiert ist, und der zweite Parameter , OutParam, ist ein Ausgabeparameter, der als adVarChar (20) definiert ist. Sie können den Rückgabewert/Ausgabeparameter mit dem folgenden Code abrufen.

    ' 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. Beim Aufrufen einer gespeicherten Prozedur mit Parametern und Konfigurieren der Parameter durch Aufrufen der Item-Methode für die Parameters-Auflistung kann der Rückgabewert/Ausgabeparameter der gespeicherten Prozedur aus der Parameters-Auflistung abgerufen werden. Beispielsweise verfügt die gespeicherte Prozedur SPWithParam über zwei Parameter. Der erste Parameter , InParam, ist ein Eingabeparameter, der als adVarChar (20) definiert ist, und der zweite Parameter , OutParam, ist ein Ausgabeparameter, der als adVarChar (20) definiert ist. Sie können den Rückgabewert/Ausgabeparameter mit dem folgenden Code abrufen.

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

Dieser Abschnitt enthält das folgende Thema.

Siehe auch

Append-Methode (ADO)
CreateParameter-Methode (ADO)
Parameterobjekt