为什么我的VB程序调用SQL SERVER 2000 的存储过程不能返回定义的输出参数

comefirst001 comefirst001 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
以下存储过程在查询器中可以返回正确值,担在我的VB程序中返回都是"0".请大虾指正,或给一段可以正确执行的源码。


例程:
存储过程:

CREATE procedure Procdcwquer @Code varchar(8),@PositionNo int output, @Sum float output as
declare @GoodsCode varchar(8)
select t_cwb.c_cwh as 仓位号, c_cwmc as 仓位名称, f_dqkcsl as 库存数量
from t_cwb join t_dcwb on t_cwb.c_cwh = t_dcwb.c_cwh
where c_spbm = @code
select @PositionNo = count(*) , @sum =sum(f_dqkcsl) from t_dcwb
where c_spbm =@code
group by c_spbm
GO






VB程序:

dim intPositionNo as integer
dim sigSum as single
Set objCnn = New ADODB.Connection
Set objCmd = New ADODB.Command
Set objRst = New ADODB.Recordset

Set objParmIn = objCmd.CreateParameter(, adVarChar, adParamInput,8,strCode)
objCmd.Parameters.Append objParmIn
Set objParmOutPositionNo = objCmd.CreateParameter("intPositionNo", adInteger, adParamOutput, 3)
objCmd.Parameters.Append objParmOutPositionNo
Set objParmOutSum = objCmd.CreateParameter("sigSum", adSingle, adParamOutput, 8)
objCmd.Parameters.Append objParmOutSum
objCnn.Open g_strHeadquarterCnn
objCmd.ActiveConnection = objCnn
objCmd.CommandType = adCmdStoredProc
objCmd.CommandText = "procdcwquer"
Set objRst = objCmd.Execute
intPositionNo = objCmd("intPositionNo")
sigSum = objCmd("sigSum")
MsgBox Str(intPositionNo) & str(sigSum)

...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部