当前位置: 主页 > 编程知识 > asp编程 > 经验总结:ASP与存储过程解析

经验总结:ASP与存储过程解析

时间:2009-10-19来源:站长资讯网 点击:

对于返回值,只能取整形,且-1到-99为保留值;

第三个参数(4),表明参数的性质,此处4表明这是一个返回值。此参数取值的说明如下:

0 : 类型无法确定; 1: 输入参数;2: 输入参数;3:输入或输出参数;4: 返回值

以上给出的ASP代码,应该说是完整的代码,也即最复杂的代码,其实

以下为引用的内容:

Set Mypara = MyComm.CreateParameter("RETURN",2,4)
MyComm.Parameters.Append MyPara

可以简化为

以下为引用的内容:

MyComm.Parameters.Append MyComm.CreateParameter("RETURN",2,4)

甚至还可以继续简化,稍后会做说明。

对于带参数的存储过程,只能使用Command对象调用(也有资料说可通过Connection对象或Recordset对象调用,但我没有试成过)。


4. 有输入参数和输出参数的存储过程

返回值其实是一种特殊的输入参数。在大多数情况下,我们用到的是同时有输入及输出参数的存储过程,比如我们想取得用户信息表中,某ID用户的用户名,这时候,有一个输入参数----用户ID,和一个输出参数----用户名。实现这一功能的存储过程如下:

以下为引用的内容:

/*SP4*/
CREATE PROCEDURE dbo.getUserName
@UserID int,
@UserName varchar(40) output
as
set nocount on
begin
if @UserID is null return
select @UserName=username
from dbo.[userinfo]
where userid=@UserID
return
end
go

调用该存储过程的ASP代码如下:

以下为引用的内容:

‘**调用带有输入输出参数的存储过程**
DIM MyComm,UserID,UserName
UserID = 1
Set MyComm = Server.CreateObject("ADODB.Command")
MyComm.ActiveConnection = MyConStr ‘MyConStr是数据库连接字串
MyComm.CommandText = "getUserName" ‘指定存储过程名
MyComm.CommandType = 4 ‘表明这是一个存储过程
MyComm.Prepared = true ‘要求将SQL命令先行编译
‘声明参数
MyComm.Parameters.append MyComm.CreateParameter("@UserID",3,1,4,UserID)
MyComm.Parameters.append MyComm.CreateParameter("@UserName",200,2,40)
MyComm.Execute
‘取得出参
UserName = MyComm(1)
Set MyComm = Nothing

 

站长资讯网
.
分页: [1] [2] [3] [4] [5] [6] [7] [8]
TAG: 经验总结 ASP 解析
推荐内容最近更新人气排行
关于我们 | 友情链接 | 网址推荐 | 常用资讯 | 网站地图 | RSS | 留言