程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 使用SQL存儲過程要特別注意的問題-注意順序讀取

使用SQL存儲過程要特別注意的問題-注意順序讀取

編輯:關於SqlServer
存儲過程是一個運行於SQL數據庫之中最核心的事務,它通過長駐內存的形式,進行讀取\處理\寫入最為頻繁處理的數據.
    ASP雖然在微軟的ASPX的侵襲下,仍舊是中小企業繼續在用的一種網頁語言,但是當要讀取海量數據的時候,如果仍舊使用普通的SQL進行讀取運行與寫入,將導致系統資源的嚴重浪費,所以我們在ASP中使用存儲過程,以提高數據的存取速度,同時通過SQL核心的獲取數據的方法,可以有效的減少垃圾數據(不被立即使用,而且也不備較短的時間裡被使用的數據)操作.
    在ASP中使用存儲過程也是相當的容易,例如以下一個通過SQL存儲過程進行分頁的方法:
存儲過程:
CREATE procedure p_splitpage   
@sql nvarchar(4000), --要執行的sql語句
@page int=1,    --要顯示的頁碼
@pageSize int,  --每頁的大小
@pageCount int=0 out, --總頁數
@recordCount int=0 out --總記錄數
as
set nocount on
declare @p1 int
exec sp_cursoropen @p1 output,@sql,@scrollopt=1,@ccopt=1,@rowcount=@pagecount output
set @recordCount = @pageCount
select @pagecount=ceiling(1.0*@pagecount/@pagesize)
 ,@page=(@page-1)*@pagesize+1
exec sp_cursorfetch @p1,16,@page,@pagesize 
exec sp_cursorclose @p1
GO
ASP頁面的內容
sql = "Select id, c_s_name from tabNews where deleted<>1 Order By id Desc"
page = cint(page_get)
if page_post<>""then
 page = cint(page_post)
end if
if not page > 0 then 
 page = 1
end if
pagesize=20’每頁的條數
set cmd = server.CreateObject("adodb.command")
cmd.ActiveConnection = conn
cmd.CommandType = 4
cmd.CommandText = "p_SplitPage"
cmd.Parameters.Append cmd.CreateParameter("@sql",8,1, 4000, sql)
cmd.Parameters.Append cmd.CreateParameter("@page",4,1, 4, page)
cmd.Parameters.Append cmd.CreateParameter("@pageSize",4,1, 4, pageSize)
cmd.Parameters.Append cmd.CreateParameter("@pageCount",4,2, 4, pageCount)
cmd.Parameters.Append cmd.CreateParameter("@recordCount",4,2, 4,
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved