网络编程
位置:首页>> 网络编程>> Asp编程>> 在asp中调用sql server的存储过程方法

在asp中调用sql server的存储过程方法

 来源:asp之家 发布时间:2007-08-13 13:28:00 

标签:存储过程,SQL,asp

在asp中调用sql server的存储过程可以加快程序运行速度,本文介绍了asp使用存储过程的方法。

1.调用存储过程的一般方法
先假设在sql server中有一存储过程aspxhome_com_users:

CREATE PROCEDURE [dbo].[aspxhome_com_users] 
AS 
select * from users 
return 
GO 


第一种方法是不利用command对象,直接用recordset对象

set rs=server.createobject("adodb.recordset") 
sql="exec aspxhome_com_users" 
rs.open sql,conn,1,1 这样就可 


第二种方法是利用command对象

set comm=server.createobject("adodb.command") 
comm.commantype=4 
set comm.activeconnection=conn 
comm.commanaspxhome_comext="dbo.aspxhome_com_users" 
set rs=server.createobject("adodb.recordset") 
rs.open comm,,1,1 


2.给存储过程传递参数
如果存储过程中不用参数,而是单一的sql语句,还显示不出调用存储过程的优势!
比如说一bbs的查询,可以按作者和主题查询!则可以建立存储过程如下:
参数keyword为关键字,choose是选择查询的方法。

CREATE PROCEDURE [dbo].[aspxhome_com_bbs] 
@keyword varchar(20)=null, 
@choose int=null 
as 
if @choose=1 
select * from bbs where name like @keyword 
else 
select * from bbs where subject like @keyword 
return 
go 

这样我们调用存储过程时只需将参数传递过去就行了,而省去在asp中来写一段程序
用第一种方法:

set rs=server.createobject("adodb.recordset") 
sql="exec aspxhome_com_bbs ’’"&keyword&"’’,"&choose&"" 
rs.open sql,conn,1,1 


用第二种方法:

set comm=server.createobject("adodb.command") 
comm.commantype=4 
comm.Parameters.append comm.CreateParameter("@keyword",adChar,adParamInput,50,keyword) 
comm.Parameters.append comm.CreateParameter("@keyword",adInteger,adParamInput,,choose) 
set comm.activeconnection=conn 
comm.commanaspxhome_comext="dbo.aspxhome_com_bbs" 
set rs=server.createobject("adodb.recordset") 
rs.CursorType=3 
rs.open comm,,1,1


深入阅读:

ASP存储过程应用全接触

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com