Freigeben über


Parameters-Collection (ADO)

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

Bemerkungen

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

Unter Verwendung der Refresh-Methode für die Parameters-Auflistung eines Command-Objekts werden Anbieterparameterinformationen für die gespeicherte Prozedur oder die parametrisierte Abfrage abgerufen, die in dem Command-Objekt angegeben ist. Einige Anbieter unterstützen keine Aufrufe gespeicherter Prozeduren oder parametrisierter Abfragen. Wird die Refresh-Methode für die Parameters-Auflistung bei Verwendung eines solchen Anbieters aufgerufen, wird ein Fehler zurückgegeben.

Wenn Sie Ihre eigenen Parameter-Objekte nicht definiert haben und auf die Parameters-Auflistung zugreifen, bevor Sie die Refresh-Methode aufrufen, ruft ADO automatisch die Methode auf und füllt die Auflistung für Sie auf.

Sie können Aufrufe an den Anbieter minimieren, um die Leistung zu verbessern, wenn Sie die Eigenschaften der Parameter kennen, die der gespeicherten Prozedur oder der 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 Append-Methode, um sie der Parameters-Auflistung hinzuzufügen. Dadurch können Sie Parameterwerte festlegen und zurückgeben, ohne den Anbieter wegen der Parameterinformationen aufrufen zu müssen. Wenn Sie an einen Anbieter schreiben, der keine Parameterinformationen bereitstellt, 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 verlassen den gültigen Bereich (weshalb sie nicht verfügbar werden), wenn das Recordset geschlossen wird.

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

  1. Wenn Sie eine gespeicherte Prozedur aufrufen, die keine Parameter besitzt, sollte zuerst die Refresh-Methode für die Parameters-Auflistung aufgerufen werden, bevor Sie die Execute-Methode für das Command-Objekt aufrufen.

  2. Wenn Sie eine gespeicherte Prozedur mit Parametern aufrufen und einen Parameter explizit an die Parameters-Auflistung mit Append anfügen, 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 Append, um die anderen Parameter in der Parameters-Auflistung in der Reihenfolge der Definition hinzuzufügen. Die gespeicherte Prozedur „SPWithParam“ weist beispielsweise zwei Parameter auf. 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. Wenn Sie eine gespeicherte Prozedur mit Parametern aufrufen und die Parameter konfigurieren, indem Sie die Item-Methode für die Parameters-Auflistung aufrufen, lässt sich der Rückgabewert/Ausgabeparameter der gespeicherten Prozedur aus der Parameters-Auflistung abrufen. Die gespeicherte Prozedur „SPWithParam“ weist beispielsweise zwei Parameter auf. 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.

Weitere Informationen

Append-Methode (ADO)
CreateParameter-Methode (ADO)
Parameter-Objekt