7
Chciałbym przekazać parametry do procedury przechowywanej w SQL Server 2008 i chciałbym do przechowywania wyników w ADODB.Recordset
run procedura przechowywana i zwracania wartości z VBA
Obecnie mam to:
Public Sub UpdateWithStoredProcedure()
Dim cmd As New ADODB.Command
Dim conn As ADODB.Connection
Dim prm As ADODB.Parameter
Dim strConn As String
Dim strSQL As String
strConn = "Provider=SQLOLEDB.1;" & _
"Data Source=(local); Initial Catalog=NorthWind;" & _
"Integrated Security=SSPI"
Set conn = New ADODB.Connection
conn.Open strConn
Set cmd = New ADODB.Command
cmd.CommandText = "procOrderUpdate"
cmd.CommandType = adCmdStoredProc
cmd.ActiveConnection = conn
Set prm = cmd.CreateParameter("OrderID", adInteger, adParamInput)
cmd.Parameters.Append prm
cmd.Parameters("OrderID").Value = 1
Set prm = cmd.CreateParameter("OrderDate", adDate, adParamInput)
cmd.Parameters.Append prm
cmd.Parameters("OrderDate").Value = "1/1/2007"
Set prm = cmd.CreateParameter("ShipVia", adInteger, adParamInput)
cmd.Parameters.Append prm
cmd.Parameters("ShipVia").Value = 2
Set prm = cmd.CreateParameter("Freight", adCurrency, adParamInput)
cmd.Parameters.Append prm
cmd.Parameters("Freight").Value = "10.5"
'Execute the Stored Procedure
cmd.Execute
'Close the connection
conn.Close
End Sub
Pytanie brzmi, jak zapisać to w zestawie rekordów, zamiast po prostu go wykonać?
Czy procedura składowana zapisywane zwraca zestaw rekord? –
@tim im sorry czy możesz wyjaśnić różnicę między procedurą składowaną zwracającą zestaw rekordów i alternatywą? –
Nie wszystkie procedury przechowywane mają na celu zwrócenie zestawu rekordów. Niektóre zapisane procedury po prostu przekazują informacje za pomocą parametrów "out". Czy wypróbowałeś sugestię Pynnera? –