ASP調用存儲過程的技巧

1、最簡單的如下
     Dim objConn
     Set objConn = Server.CreateObject("ADOBD.Connection")
     objConn.Open Application("Connection_String")
     'Call the stored procedure to increment a counter on the page
     objConn.Execute "exec sp_AddHit"
    沒有參數,沒有返回,沒有錯誤處理,就是這個了
    

2、帶參數的一種調用
    objConn.Execute "exec sp_AddHit 'http://www.aspalliance.com', 1"
    請注意分割參數,該方法也不返回記錄
    
3、返回記錄的
     Dim objConn
     Dim objRs
     Set objConn = Server.CreateObject("ADOBD.Connection")
     Set objRs = Server.CreateObject("ADOBD.Recordset")
     objConn.Open Application("Connection_String")
     'Call the stored procedure to increment a counter on the page
     objRs.Open objConn, "exec sp_ListArticles '1/15/2001'"
     'Loop through recordset and display each article

4、……
     Dim objConn
     Dim objCmd
   
    'Instantiate objects
    Set objConn = Server.CreateObject("ADODB.Connection")
    set objCmd = Server.CreateObject("ADODB.Command")
    conn.Open Application("ConnectionString")
   
    With objCmd
     .ActiveConnection = conn 'You can also just specify a connection string here
     .CommandText = "sp_InsertArticle"
     .CommandType = adCmdStoredProc 'Requires the adovbs.inc file or typelib meta tag
    
     'Add Input Parameters
     .Parameters.Append .CreateParameter("@columnist_id", adDouble, adParamInput, , columnist_id)
     .Parameters.Append .CreateParameter("@url", adVarChar, adParamInput, 255, url)
     .Parameters.Append .CreateParameter("@title", adVarChar, adParamInput, 99, url)
     .Parameters.Append .CreateParameter("@description", adLongVarChar, _
     adParamInput, 2147483647, description)
    
     'Add Output Parameters
     .Parameters.Append .CreateParameter("@link_id", adInteger, adParamOutput, , 0)
    
     'Execute the function
     'If not returning a recordset, use the adExecuteNoRecords parameter option
     .Execute, , adExecuteNoRecords
     link_id = .Parameters("@link_id")
    End With
    
5、存儲過程的代碼
    Create PROCEDURE dbo.sp_InsertArticle
    (
     @columnist_id int,
     @url varchar(255),
     @title varchar(99),
     @description text
     @link_id int OUTPUT
    )
    AS
    BEGIN
     INSERT INTO dbo.t_link (columnist_id,url,title,description)
     VALUES (@columnist_id,@url,@title,@description)
   
     SELECT @link_id = @@IDENTITY
    END
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章