汽车行业
执行带参数的储存过程
2022-03-11 05:21  浏览:346

一、问题描述:

我需要在窗体加载事件中执行存储过程proc_abc,有2个参数需要输入,1个是string (me.workorder),1个是int(me.jcid),执行完后还有1个输出参数 类型为int,请问老师该如何写这个存储过程得调用呢?查找网站上,我现在知道只有一个输入参数时是这样:

getAdoConnection().Execute "exec Proc_WorkScopeTransfer " & SQLText(Me.Parent!partno)


二、解决方案:
GetAdoConnection().Execute "exec 存储过程名称 '" & 字符型变量 &"',"& 数字型变量 &" "

问 题:
怎么获得输出得参数呢?

解 答:
Dim lngI as long
lngI = GetAdoConnection().Execute ("exec 存储过程名称 '" & 字符型变量 &"',"& 数字型变量 &" ")(0)

Me.qty = lngI

如下图:



存储过程用如下:
Alter PROCEDURE [dbo].[Proc_jobcards_count]
等workorder nvarchar(12),
等jcid int
AS
BEGIN
SET NOCOUNT ON;
Select count(*) as qty from tblWorkScopedtl
inner join
tblWorkScopelst
on tblWorkScopelst.wsid=tblWorkScopedtl.wsid
where tblWorkScopelst.workorder = 等workorder AND tblWorkScopedtl.jcid = 等jcid
END