同时具有返回值、输入参数、输出参数的存储过程
来源:互联网 发布:你咋不上天呢 网络歌曲 编辑:程序博客网 时间:2024/06/06 08:47
同时具有返回值、输入参数、输出参数的存储过程
前面说过,在调用存储过程时,声明参数的顺序要与存储过程中定义的顺序相同。还有一点要特别注意:如果存储过程同时具有返回值以及输入、输出参数,返回值要最先声明。
为了演示这种情况下的调用方法,我们改善一下上面的例子。还是取得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
前面说过,在调用存储过程时,声明参数的顺序要与存储过程中定义的顺序相同。还有一点要特别注意:如果存储过程同时具有返回值以及输入、输出参数,返回值要最先声明。
为了演示这种情况下的调用方法,我们改善一下上面的例子。还是取得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
- 同时具有返回值、输入参数、输出参数的存储过程
- 存储过程参数的输入与输出
- Oracle带输入、输出参数的存储过程 返回受影响的行数 SQL%ROWCOUNT
- Oracle带输入、输出参数的存储过程 返回受影响的行数 SQL%ROWCOUNT
- ASP.NET中调用存储过程带(输入/输出)参数和返回值的一些常用的例子
- ASP.NET中调用存储过程带(输入/输出)参数和返回值的一些常用的例子
- ASP.NET中调用存储过程带(输入/输出)参数和返回值
- ASP.NET中调用存储过程带(输入/输出)参数和返回值
- java调用输入参数、输出参数、输出参数为列表的存储过程(一)
- java调用输入参数、输出参数、输出参数为列表的存储过程(二)
- mybatis调存储过程返回输出参数
- 程序调用存储过程 输出参数返回0的问题
- ASP调用存储过程:有输入参数和输出参数的存储过程
- ASP调用存储过程:有输入参数和输出参数的存储过程
- oracle使用带有输入和输出参数的存储过程
- oracle使用带有输入和输出参数的存储过程
- Ado.Net调用带输入,输出参数的存储过程
- C#获取存储过程返回值和输出参数值
- 学习笔记 (2007/06/29)
- 读>整理-第一章对安全系统的需求
- 安装MinGW
- 常用皮肤控件小列
- 80+ AJAX-Solutions For Professional Coding
- 同时具有返回值、输入参数、输出参数的存储过程
- 十八本英文版软件测试书籍下载
- os课程设计:实现可变分区管理的模拟
- SQL Server 2000異地數據庫數據同步_1
- linux历史
- 支持smil文件的MMS PDU打包方式.
- 图形监控出现了问题
- VBS脚本——实现立即关机
- 编译常见错误