解析ASP与存储过程(4)_ASP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:解析ASP中的常用服务器检测源码
在写ASP网页时常用的检测代码: 服务器现在时间: 引用 % =now %> 服务器CPU型号: 引用 %=Request.ServerVariables(HTTP_UA_CPU)%> 当前分辨率: 引用 &l

对于返回值,只能取整形,且-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

分享:解析ASP中脚本执行顺序
如果机房马上要关门了,或者你急着要和MM约会,请直接跳到第四个自然段。 以下叙述的脚本包括服务器端脚本和客户端的脚本,服务器端脚本指在服务器上运行的那部分脚本,比如常见的Respon

来源:模板无忧//所属分类:ASP教程/更新时间:2009-08-22
相关ASP教程