CREATE Procedure SP_GetNewOrderID @sOrderType char(2), @sNewOrderID varchar(16) output As ... VB工程中的函数: Public Function GetNewOrderID(ByVal OrderType As String) As String Dim conn As New Connection Dim cmd As New Command Dim NewOrderID As String Dim param As New Parameter Dim retval As Variant
另外,如果需要从存储过程返回一个Recordset并赋给ActiveReport,那么最好先引用一个ADODB.Recordset,然后用set activereport.datacontrol.recordset=myRecrodset语句传递记录集。
ActiveReport.DataControl.Source= "Execute [存储过程名] 参数1,参数2,参数3"
在这里,如果参数是Character型,那在要参数要用单引号引起来。
@sOrderType char(2),
@sNewOrderID varchar(16) output
As
...
VB工程中的函数:
Public Function GetNewOrderID(ByVal OrderType As String) As String
Dim conn As New Connection
Dim cmd As New Command
Dim NewOrderID As String
Dim param As New Parameter
Dim retval As Variant
conn.Open GetConnStr()
cmd.ActiveConnection = conn cmd.CommandText = "SP_GetNewOrderID" cmd.CommandType = adCmdStoredProc '返回值 'Set param = cmd.CreateParameter("retval", adInteger, adParamReturnValue, 4) 'cmd.Parameters.Append param '输入参数 ,OrderType为传入该函数的参数 Set param = cmd.CreateParameter("sOrderType", adChar, adParamInput, 2, OrderType) cmd.Parameters.Append param '输出参数 Set param = cmd.CreateParameter("sNewOrderID", adChar, adParamOutput, 16) cmd.Parameters.Append param Set retval = cmd.Execute()
NewOrderID = cmd.Parameters("sNewOrderID").Value
GetNewOrderID = NewOrderID
end function