l--*_*''' 8 sql excel vba sql-server-2008
我想将参数传递到SQL Server 2008中的存储过程,我想将结果存储在一个 ADODB.Recordset
目前我有这个:
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
Run Code Online (Sandbox Code Playgroud)
问题是如何将其存储在记录集中而不是仅执行它?
我相信你所需要的就是这个
Dim Rst As ADODB.Recordset
Run Code Online (Sandbox Code Playgroud)
还有这个
Set Rst = cmd.Execute
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32568 次 |
| 最近记录: |