精美而实用的网站,关注web编程技术、网站运营、SEO推广,让您轻松愉快的学习

本文主要是说明asp调用sql server存储过程的情况,支持给存储过程传入参数。带参数才能发挥存储过程的优势,让其更有效率。

ASP传递参数给存储过程

比如一个论坛的查询,可以按作者和主题查询,则可建立如下存储过程:参数keyword为关键字,choose是选择查询的方法:

CREATE PROCEDURE [dbo].[dt_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

这样我们调用存储过程时只需将参数传递过去就行了:

'使用recordset对象的方法:
set rs=server.createobject("adodb.recordset")
sql="exec dt_bbs '"&keyword&"',"&choose&""
rs.open sql,conn,1,1
'使用command对象的方法:
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.commandtext="dbo.dt_bbs"
set rs=server.createobject("adodb.recordset")
rs.CursorType=3
rs.open comm,,1,1

青岛星网温馨提醒:使用存储过程时,一般要写那些支持参数的,无参数的存储过程个人觉得还不如不用。

Tags:ASP 存储过程 sql