Freigeben über


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

Sie können eine gespeicherte Prozedur wie eine native Methode für das zugeordnete geöffnete Connection-Objekt aufrufen. Dies ähnelt dem Aufrufen eines benannten Befehls für das Connection-Objekt.

Im folgenden Visual Basic-Codebeispiel wird eine gespeicherte Prozedur namens „CustOrdersOrdersOrders“ in der Northwind-Beispieldatenbank aufgerufen. Der Einfachheit halber wird sie hier noch einmal aufgeführt.

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 ob es sich um eine systemeigene Methode für ein zugeordnetes offenes Connection-Objekt handelt.

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  

Weitere Informationen

Connection-Objekt (ADO)