在asp程序中使用sql server存储过程是常见的事,主要的作用是提高程序运行的时间,这里介绍一下调用不同类型的存储过程的方法。
一、最简单的调用
<% 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" %>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
没有参数,没有返回,没有错误处理,就是这个了
二、带参数的一种调用
<% objConn.Execute "exec sp_AddHit,'http://www.aspbc.com', 1" %>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
注意分割参数,该方法也不返回记录
三、带返回记录集的
<% 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 %>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
四、带参数和返回记录集的
<% 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 %>(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)
五、存储过程代码
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(鼠标移到代码上去,在代码的顶部会出现四个图标,第一个是查看源代码,第二个是复制代码,第三个是打印代码,第四个是帮助)