asp.net中實現分明功能,主要運用的是aspnetpager,再呼叫儲存過程進行分頁,該方法適合運用的範圍非常廣,不錯,
set ansi_nulls on
set quoted_identifier on
goalter procedure [dbo].[getpagerdata]
(--表名
@tbname varchar(30),
--需查詢的內容
@fldname varchar(1000) = '*',
@primarykey varchar(100),
--查詢條件
@where varchar(500),
--排序標準
@orderfld varchar(200) = '',
--排序方法
@ordertype varchar(1000) = 'desc',
@pageindex int = 1,
@pagesize int = 10,
@recordcount int output)as
declare
@sql varchar(5000),@strorder varchar(100),
@strstartindex varchar(10),
@strendindex varchar(10)
select @fldname = isnull(@fldname,'*'),
@where = isnull(@where,''),
@orderfld =isnull(@orderfld,@primarykey),
@ordertype =isnull(@ordertype,'desc'),
@strstartindex = cast( ((@pageindex -1)*@pagesize +1) as varchar(10)),
@strendindex = cast((@pageindex*@pagesize ) as varchar(10))
if isnull(@where,'')<>''
begin
set @where = ' where '+@where
enddeclare @sqlcount nvarchar(1000)
set @sqlcount='select @count=count(1) from '+@tbname + @where
execute sp_executesql @sqlcount ,n'@count int output' ,@recordcount output
set @sql ='with datalist as
(select row_number() over (order by '+@orderfld+' '+@ordertype+')as row,'
+@fldname+ ' from '+ @tbname
+ @where +')
select * from datalist where row between '+@strstartindex+ ' and '+ @strendindex
print @sql
exec(@sql)
通過儲存過程實現分頁
create procedure dbo commonpageselect sqlwhere varchar 1000 查詢條件 pagenum int 20,每頁的記錄數 beginline int 1,第幾頁,預設第一頁 sqltable varchar 5000 要查詢的表或檢視,也可以一句s...
分頁儲存過程 分頁儲存過程
分頁儲存過程 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...