我在SQL SERVER 服务器上写了一个存储过程
CREATE PROCEDURE PROCNAME
@PARA1,@PARA2,...
AS
DECLARE @RETUREPara
if expression
select @RETUREPara=sum(field) from table where condition1
else
select @RETUREPara=sum(field from table where condition2
select 'Total'=@RETUREPara GO
请问如何在VB中执行这个存储过程取出@RETUREPara的值呢?
CREATE PROCEDURE PROCNAME
@PARA1,@PARA2,...
AS
DECLARE @RETUREPara
if expression
select @RETUREPara=sum(field) from table where condition1
else
select @RETUREPara=sum(field from table where condition2
select 'Total'=@RETUREPara GO
请问如何在VB中执行这个存储过程取出@RETUREPara的值呢?
'存储过程中包含三个参数,两个输入类型,一个输出类型
'sp_日期 为存储过程名Public Function DateWorkout(ByVal BeginDate As String, ByVal WorkoutDate As Integer) As String
On Error GoTo ErrTrap
Dim cmdWork As New ADODB.Command
Dim param1 As Parameter, param2 As Parameter, param3 As Parameter
Set cmdWork.ActiveConnection = gadoCN
cmdWork.CommandText = "sp_日期"
cmdWork.CommandType = adCmdStoredProc
Set param1 = cmdWork.CreateParameter("@BeginDate", adDBTimeStamp, adParamInput)
cmdWork.Parameters.Append param1
Set param2 = cmdWork.CreateParameter("@DateNum", adInteger, adParamInput)
cmdWork.Parameters.Append param2
Set param3 = cmdWork.CreateParameter("@EndDate", adDBTimeStamp, adParamReturnValue)
cmdWork.Parameters.Append param3
param1.Value = BeginDate
param2.Value = WorkoutDate
param3.Value = 0
Call cmdWork.Execute
DateWorkout = param3.Value
On Error GoTo 0
Exit Function
ErrTrap:
DateWorkout = 0
On Error GoTo 0
End Function'示例存储过程代码
'CREATE PROCEDURE sp_日期(@BeginDate datetime,@DateNum integer,@EndDate datetime output)
'AS
' select @EndDate = @BeginDate+@DateNum
很详细了
如果用的是Set语句返回值,那么就要用到command对象及parameter对象。