存儲過程返回記錄集總數,及輸出。

在查詢分析器中執行建立存儲過程:

CREATE procedure recordCount
(
@strWhere nvarchar(500)='',
@count int output
)
as
declare @sqlStr nvarchar(1000)
if @strWhere != ''
   set @sqlStr = N'select @COUNT =  count(id) from get_zhaoshang  where 1=1 ' + @strWhere
else
   set @sqlStr = N'select @COUNT = count(id) from get_zhaoshang'

exec sp_executesql @sqlStr,N'@count int output',@count output
GO
 
ASP程序中調用:
 Set MyComm = Server.CreateObject("ADODB.Command")
 MyComm.ActiveConnection = objconn
 'MyConStr是數據庫連接字串
 MyComm.CommandText = "recordCount"
 '指定存儲過程名
 MyComm.CommandType = 4
 '表明這是一個存儲過程
 MyComm.Prepared = true
 '要求將SQL命令先行編譯
@strWhere:數據庫查詢where條件
 MyComm.Parameters.append MyComm.CreateParameter("@strWhere",200,1,500,SearchChar1)'輸入參數
 MyComm.Parameters.append MyComm.CreateParameter("@count",3,2)'輸出參數
 MyComm.Execute
 '取得出參
 TotalRs= MyComm.Parameters("@count").value
response.write TotalRs
 Set MyComm = Nothing

如果對存儲過程還有不清楚的地方可以查詢以下網址:

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