支援:多表連線查詢、group by分組查詢等。(多表連線查詢時請指定字段,不要用select *)
返回為一結果集,有乙個輸出引數為記錄總數,配合
aspnetpager控制項使用絕配。
create
procedure
web_pager(
@rowstotal
intoutput,
--輸出記錄總數
@tablename
varchar
(800
),--
表名@fieldname
varchar
(800
),--
查詢字段
@keyname
varchar
(200
),--
索引字段
@pagesize
int,
--每頁記錄數
@pagenow
int,
--當前頁
@stringorder
varchar
(200
),--
排序條件
@stringwhere
varchar
(800)--
where條件)as
begin
declare
@beginrow
intdeclare
@endrow
intdeclare
@templimit
varchar
(200
)declare
@tempcount
nvarchar
(1000
)declare
@tempmain
varchar
(1000
)set@beginrow=(
@pagenow-1
)*@pagesize+1
set@endrow
=@pagenow
*@pagesize
set@templimit='
rowsbetween'+
cast
(@beginrow
asvarchar)+
'and'+
cast
(@endrow
asvarchar
)--輸出引數為總記錄數
set@tempcount='
select@rowstotal=count(*)from(select'+
@keyname+'
from'+
@tablename+'
where'+
@stringwhere+'
)asmy_temp
'execute
sp_executesql
@tempcount,n'
@rowstotalintoutput',
@rowstotal
output
--主查詢返回結果集
set@tempmain='
select*from(selectrow_number()over('+
@stringorder+'
)asrows,'+
@fieldname+'
from'+
@tablename+'
where'+
@stringwhere+'
)asmain_tempwhere'+
@templimit
execute
(@tempmain
)end
分頁儲存過程 分頁儲存過程
分頁儲存過程 alter proc dbo p pageshow pagesize int,每頁大小 currentpage int out,當前頁 housename nvarchar 50 房產名稱 totalcount int out,總記錄數 totalpage int out 總頁數 as...
分頁儲存過程
create proc p sobigo percentpage tblname varchar 255 t category 表名 strgetfields varchar 1000 需要返回的列 fldname varchar 255 排序的欄位名 pagesize int 10,頁尺寸 pag...
分頁儲存過程
create procedure pro select pageindex int,pagesize int as select student.sno,student.sname,student.s grade.math,grade.physics,grade.huaxue,grade.chine...