如何用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