存储过程同时返回值和记录集,该如何取得返回值

miniburger 2005-04-01 11:50:15
我有一个存储过程,执行完成之后,有以下三种可能,该如何正确取得返回值?
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)取得的是返回值。

我该如何正确取得返回值,而不是记录集呢?
...全文
169 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
net205 2005-04-04
  • 打赏
  • 举报
回复
Command2.CommandText = "declare @re int EXECUTE @re=p_vcall '"&tel&"' select @re"
这一句declare @re int后面不用;也行吗??
建议如 fcuandy(www.webizs.com)所说,用output参数,然后可以用Command对象,网上搜索一下,比较多,不过我没有试成功。

还有一个办法就是我提议你可以把结果在最后可以select 出来成一个记录集形式,然后recordset对象里有一个NextRecordset方法可以取下条记录集
fcuandy 2005-04-04
  • 打赏
  • 举报
回复
再去读读关于带参数存储过程的资料吧
miniburger 2005-04-04
  • 打赏
  • 举报
回复
RETURN不就是已经是返回值 了吗??

我在ASP执行存储过程的时候是这样的"declare @re int EXECUTE @re=p_vcall '"&tel&"' select @re"

这里就定义有返回的变量
fcuandy 2005-04-04
  • 打赏
  • 举报
回复
CREATE PROCEDURE p_vCall
@cPhoneNo varchar(10)

AS
-------------------------------------------------
没有定义输出参数,又怎么能取出?
miniburger 2005-04-04
  • 打赏
  • 举报
回复
存储过程是这样

CREATE PROCEDURE p_vCall
@cPhoneNo varchar(10)

AS

DECLARE @Error int, @RowCount int

IF @cPhoneNo <>''
SELECT * FROM tb_VPhone WHERE tb_VPhone.cPhoneNo=@cPhoneNo

SELECT @Error=@@Error, @RowCount=@@RowCount

IF @Error<>0
BEGIN
RETURN 9
END
ELSE IF @RowCount<=0
BEGIN
RETURN 5
END
ELSE RETURN 0
GO


用的是MSSQL数据库

请指点迷津
ryuginka 2005-04-04
  • 打赏
  • 举报
回复
你表达清楚点啊,或者贴出你的存储过程.
还有是什么数据库?
miniburger 2005-04-04
  • 打赏
  • 举报
回复
顶啊!!!HELP!!!
miniburger 2005-04-02
  • 打赏
  • 举报
回复
十万火急啊!哪位大侠指点迷津啊??
内容概要:本文介绍了软件定义汽车(SDV)的最佳实践案例,重点围绕基于Vector技术的电子电气(E/E)架构设计与实现。文档展示了高算力计算平台(HPC)、区域控制器(Zone ECU)和车载网络(如CAN、Ethernet)的系统架构布局,并结合AUTOSAR操作系统(Classic/Adaptive)、虚拟化(Hypervisor)和SOA服务设计,构建现代化车载系统。通过vCANdrive平台演示了从开发、测试(SIL/HIL)、到OTA升级的全流程,涵盖传感器、执行器、应用层软件及云端协同的集成方案。同时展示了硬件原型(如树莓派、Triboard)和MICROSAR系列工具链在实际项目中的应用。; 适合人群:从事汽车电子系统开发、车载软件架构设计以及智能网联汽车研发的工程师和技术管理人员,具备一定的嵌入式系统或AUTOSAR基础者更佳。; 使用场景及目标:①理解软件定义汽车的整体架构设计方法;②掌握基于Vector工具链的HPC与区域控制器集成方案;③实现OTA更新、SIL/HIL测试、ETH-CAN通信转换等关键技术验证;④支持智能驾驶(ADAS)与智能座舱(IVI)系统的快速原型开发。; 阅读建议:建议结合Vector相关工具(如PREEvision、CANoe4SW、MICROSAR)进行实践操作,重点关注系统分层设计、通信机制与软件更新流程,同时可参考文档中的硬件连接示意图与信号映射关系进行仿真与实车验证。

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧