分类:
2008-10-15 13:46:32
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