首页 收藏本站 设为首页
你的位置:首页网站开发asp 〉asp开发中同时具有返回值、输入参数、输出参数的存储过程
asp开发中同时具有返回值、输入参数、输出参数的存储过程

发布时间:2008-3-26       字体[  ]
同时具有返回值、输入参数、输出参数的存储过程

  前面说过,在调用存储过程时,声明参数的顺序要与存储过程中定义的顺序相同。还有一点要特别注意:如果存储过程同时具有返回值以及输入、输出参数,返回值要最先声明。

  为了演示这种情况下的调用方法,我们改善一下上面的例子。还是取得ID为1的用户的用户名,但是有可能该用户不存在(该用户已删除,而userid是自增长的字段)。存储过程根据用户存在与否,返回不同的值。此时,存储过程和ASP代码如下:

 

/*SP5*/
CREATE PROCEDURE dbo.getUserName
--为了加深对"顺序"的印象,将以下两参数的定义顺序颠倒一下
@UserName varchar(40) output,
@UserID int
as
set nocount on
begin
if @UserID is null return
select @UserName=username
from dbo.[userinfo]
where userid=@UserID
if @@rowcount>0
return 1
else
return 0
return
end
go

’**调用同时具有返回值、输入参数、输出参数的存储过程**
DIM MyComm,UserID,UserName
UserID = 1
Set MyComm = Server.CreateObject("ADODB.Command")
with MyComm
.ActiveConnection = MyConStr ’MyConStr是数据库连接字串
.CommandText = "getUserName" ’指定存储过程名
.CommandType = 4 ’表明这是一个存储过程
.Prepared = true ’要求将SQL命令先行编译
’返回值要最先被声明
.Parameters.Append .CreateParameter("RETURN",2,4)
’以下两参数的声明顺序也做相应颠倒
.Parameters.append .CreateParameter("@UserName",200,2,40)
.Parameters.append .CreateParameter("@UserID",3,1,4,UserID)
.Execute
end with
if MyComm(0) = 1 then
UserName = MyComm(1)
else
UserName = "该用户不存在"
end if
Set MyComm = Nothing

相关文章
asp开发中返回多个记录集的存储过程
asp开发中同时返回参数和记录集的存储过程
asp开发中同时具有返回值、输入参数、输出参数的存储过程
asp开发中有输入参数和输出参数的存储过程
asp开发中有返回值的存储过程并取得返回值
asp开发中不返回结果(没有输入输出)的存储过程
[  打印本页 ] [  来源:网络 ]     [  麒讯网整理 ]
站内搜索
最新文章
热点文章
友情链接广告服务联系我们网站地图意见反馈
Copyright @2007 qiixun.com All rights reserved.