如何用ASP调用带参数存储过程?
如何用ASP调用带参数存储过程?
1、这也是最简单的方法,两个输入参数,无返回值:
set connection=server.createobject("adodb.connection")
connection.open someDSN
Connection.Execute"procname varvalue1,varvalue2"
''将所有对象清为nothing,释放资源
connection.close
set connection=nothing
2、如果要返回Recordset集:
set connection=server.createobject("adodb.connection")
connection.open someDSN
set rs=server.createobject("adodb.recordset")
rs.Open"Exec procname varvalue1,varvalue2",connection
''将所有对象清为nothing,释放资源
rs.close
connection.close
set rs=nothing
set connection=nothing
3、以上两种方法都不能有返回值,(Recordset除外),如果要得到返回值,需要用Command的方法。
首先说明,返回值有两种。一种是在存储过程中直接return一个值,就象C和VB的函数返回值那样;另一种是可以返回多个值,存
储这些值的变量名称需要在调用参数中先行指定。
这个例子要处理多种参数,输入参数,输出参数,返回记录集以及一个直接返回值(够全了吧?)
存储过程如下:
use pubs
GO
--建立存储过程
create procedure sp_PubsTest
--定义三个参数变量,注意第三个,特别标记是用于输出
@au_lname varchar(20),
@intID int,
@intIDOut int OUTPUT
AS
SELECT@intIDOut=@intID+1
SELECT*
FROM authors
WHERE au_lname LIKE@au_lname+''%''
--直接返回一个值
RETURN@intID+2