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