Saturday, April 27, 2013

Custom Paging in gridview in Sql server 2000

Declare @PageSize int,
@Page int,
@Segment varchar(10)

Set @PageSize=100
set @Page=3
Set @Segment='N'

---Logic to Find Total pages---
Declare @TPages int
Select @TPages=Case When Count(*)<=@PageSize Then 1 when (Count(*)%@PageSize)!=0 then (Count(*)/@PageSize)+1 Else (Count(*)/@PageSize) End
from tblname where Segment=@Segment
Print @TPages

-----Logic to Get Rows as per selected Page------
SET ROWCOUNT @PageSize
Declare @Sql varchar(8000)
set @sql='Select * from
(
      Select top '+Convert(varchar,(@Page*@PageSize))+' * from tblname where Segment='''+@Segment+'''
      order by ID
)a
order by ID desc'

Exec(@Sql)
SET ROWCOUNT 0

ITWORLD
If you have any question then you put your question as comments.

Put your suggestions as comments