ASP調(diào)用帶參數(shù)存儲過程的幾種方式

字號:

1 、這也是最簡單的方法,兩個輸入?yún)?shù),無返回值:
    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的函數(shù)返回值那樣;另一種是可以返回多個值,存
    儲這些值的變量名稱需要在調(diào)用參數(shù)中先行指定。
    這個例子要處理多種參數(shù),輸入?yún)?shù),輸出參數(shù),返回記錄集以及一個直接返回值(夠全了吧?)
    存儲過程如下:
    use pubs
    GO
    -- 建立存儲過程
    create procedure sp_PubsTest
    -- 定義三個參數(shù)變量,注意第三個,特別標(biāo)記是用于輸出
    @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