ASP调用存储过程的技巧

Emily ·
更新时间:2024-11-13
· 613 次阅读

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.asp001.net', 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,&nbs p;
    @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



技巧 存储 存储过程 ASP

需要 登录 后方可回复, 如果你还没有账号请 注册新账号