存储过程同时返回值和记录集,该如何取得返回值
我有一个存储过程,执行完成之后,有以下三种可能,该如何正确取得返回值?
1、同时记录集(非空,有记录的)和返回值(先返回记录集,再有返回值)
2、返回一个空记录集和返回值(先返回一个空记录集,再有返回值)
3、只返回一个返回值,没有结果集
执行存储过程的ASP代码如下:
Command2.ActiveConnection = MM_vod_data_STRING
Command2.CommandText = "declare @re int EXECUTE @re=p_vcall '"&tel&"' select @re"
Command2.CommandType = 1
Command2.CommandTimeout = 0
Command2.Prepared = true
set re=Command2.Execute()
if re(0)=0 then '********
'程序段---------------
else
'程序段2---------------
end if
当遇到第1种情况时,正常执行,re(0)取得的是记录集第1列的数据。
当遇到第2种情况时,执行到“******”标识的行时就有问题了,提示:“在对应所需名称或序数的集合中,未找到项目。”,因为它先返回一个空记录集,所以取不到列的数据,所以出错。
当遇到第3种情况时,正常执行,re(0)取得的是返回值。
我该如何正确取得返回值,而不是记录集呢?