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.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, @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