Freigeben über


Aufrufen einer gespeicherten Prozedur als Methode für ein Connection-Objekt

Sie können eine gespeicherte Prozedur so aufrufen, als wäre sie eine systemeigene Methode für das zugeordnete geöffnete Connection-Objekt. Dies ähnelt dem Aufrufen eines benannten Befehls für das Connection-Objekt.

Im folgenden Visual Basic-Codebeispiel wird eine gespeicherte Prozedur in der Northwind-Beispieldatenbank namens "CustOrdersOrders" aufgerufen, die hier erneut zur Vereinfachung aufgeführt wird.

CREATE PROCEDURE CustOrdersOrders @CustomerID nchar(5) AS  
SELECT OrderID, OrderDate, RequiredDate, ShippedDate  
FROM Orders  
WHERE CustomerID = @CustomerID  
ORDER BY OrderID  

Im folgenden Codebeispiel wird veranschaulicht, wie eine gespeicherte Prozedur aufgerufen wird, als wäre es eine systemeigene Methode für ein zugeordnetes geöffnetes Connection-Objekt.

Const DS = "MySQLServer"  
Const DB = "Northwind"  
Const DP = "SQLOLEDB"  
  
Dim objConn As New ADODB.Connection  
Dim objRs As New ADODB.Recordset  
Dim objComm As New ADODB.Command  
  
ConnectionString = "Provider=" & DP & _  
                   ";Data Source=" & DS & _  
                   ";Initial Catalog=" & DB & _  
                   ";Integrated Security=SSPI;"  
  
' Connect to the data source.  
objConn.Open ConnectionString  
  
' Set a stored procedure  
  
Set objComm.ActiveConnection = objConn  
  
' Execute the stored procedure on  
' the active connection object...  
'    "ALFKI" is the required input parameter,  
'    objRs is the resultant output variable.  
objComm(1) = "ALFKI"
Set objRs = objComm.Execute

' Display the result.  
Debug.Print "Results returned from sp_CustOrdersOrders for ALFKI: "  
Do While Not objRs.EOF  
    Debug.Print vbTab & objRs(0) & vbTab & objRs(1) & vbTab & _  
                objRs(2) & vbTab & objRs(3)  
    objRs.MoveNext  
 Loop  
  
'Clean up.  
objRs.Close  
objConn.Close  
Set objRs = Nothing  
Set objConn = Nothing  
Set objComm = Nothing  

Siehe auch

Verbindungsobjekt (ADO)