用户:    密码:          忘记密码?
 
 
  会员专区
  成功案例
  合作伙伴
  帮助中心
  付款方式
  信息反馈
  联系我们
用户名:
密   码
  使用防窃密码软键盘...

企业网站设计精华65条
网站亲和力表现:让你
ASP开发中存储过程应用
网页浏览速度提高的七
CSS的超级技巧大放送 
最窄770px最宽1024px经
Dreamweaver中使页符合
Google发布让用户自制

网盈资讯:
 
ASP开发中存储过程应用全接触
作者:佚名 来源:本站原创,互联网 日期:2006-8-3 19:14:03 点击次数:


  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 
  在以上代码中,可以看到,与声明返回值不同,声明输入参数时需要5个参数,声明输出参数时需要4个参数。声明输入参数时5个参数分别为:参数名、参数数据类型、参数类型、数据长度、参数值。声明输出参数时,没有最后一个参数:参数值。 

  需要特别注意的是:在声明参数时,顺序一定要与存储过程中定义的顺序相同,而且各参数的数据类型、长度也要与存储过程中定义的相同。 

  如果存储过程有多个参数,ASP代码会显得繁琐,可以使用with命令简化代码: 

’**调用带有输入输出参数的存储过程(简化代码)** 
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("@UserID",3,1,4,UserID) 

本新闻共7页,当前在第3页  1  2  3  4  5  6  7  

  打印本页  关闭窗口  返回顶部  
 
关于我们
联系方式
帮助中心
付款方式
信息反馈
合作伙伴
会员专区
 
Copyright © 2005-2008 网盈网络技术有限公司 wwin.com.cn All rights reserved.
地址:深圳市梅林海关梅龙公路西鑫海城E410/B619 手机:13714701503
电话:0755-84166182 传真:0755-81798965 邮编:518209
E-mail:service#wwin.cn | QQ联系:17211287
   
深圳、广州、东莞、北京、上海、成都、南京、武汉
深圳网站建设,深圳网站设计