Click here to Skip to main content
15,897,704 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
how to do sql server paging in sql server 2005 with help of example
Posted

Hi,

Refer below link

1. SQL Server 2005 Paging Results[^]

2. SQL SERVER – 2005 T-SQL Paging Query Technique Comparison [^]

3. Paging in SQL Server 2005 [^]

4. SQL Server 2005 Paging Sample [^]

Check this[^] article. This will help you for solving your problem


Create Sp like below

SQL
CREATE PROCEDURE [dbo].[Paging]
(
  @Page int, -- pass page number
  @PageSize int -- pass number of records for page
)
AS
SET NOCOUNT ON;

SELECT TOP(@PageSize) * FROM
(
 SELECT RowID = ROW_NUMBER() OVER (ORDER BY Orderbycolumn ), col1,col2,col3 , TotalRows=Count(*) OVER()
 FROM tbsalesheader
)
A WHERE A.RowID > ((@Page-1)*@PageSize)
SET NOCOUNT OFF
 
Share this answer
 
v6
Comments
[no name] 12-Apr-13 2:51am    
no its not helpfull
Shanalal Kasim 12-Apr-13 2:56am    
This is only a reference. You need more details Please improve your question with table structure and your select query
[no name] 12-Apr-13 3:22am    
@shanalal: its simple select query
like select*from tbsalesheader now i want pagining in it how it can be possoble plz tell me as soon as possible
Shanalal Kasim 12-Apr-13 5:13am    
check improved solution
[no name] 12-Apr-13 7:31am    
@Shanalal Kasim :NO SIR I AM NOT ABLE TO GET YOU
SQL
CREATE PROC GetCustomersByPage

@PageSize int, @PageNumber int 

AS 

Declare @RowStart int 
Declare @RowEnd int 

if @PageNumber > 0 
Begin 

SET @PageNumber = @PageNumber -1 

SET @RowStart = @PageSize * @PageNumber + 1; 
SET @RowEnd = @RowStart + @PageSize - 1 ; 

With Cust AS 
     ( SELECT CustomerID, CompanyName, 
       ROW_NUMBER() OVER (order by CompanyName) as RowNumber 
       FROM Customers ) 

select * 
from Cust 
Where RowNumber >= @RowStart and RowNumber <= @RowEnd end

END
 
Share this answer
 
v2
/*SQL SERVER – 2005 T-SQL Paging Query Technique Comparison (OVER and ROW_NUMBER()) – CTE vs. Derived Table:*/
--SQL 2005 Paging Method Using Derived Table:
USE AdventureWorks
GO
DECLARE @StartRow INT
DECLARE @EndRow INT
SET @StartRow = 120
SET @EndRow = 140
SELECT FirstName, LastName, EmailAddress
FROM (
SELECT PC.FirstName, PC.LastName, PC.EmailAddress,
ROW_NUMBER() OVER(
ORDER BY PC.FirstName, PC.LastName,PC.ContactID) AS RowNumber
FROM Person.Contact PC) PersonContact
WHERE RowNumber > @StartRow
AND RowNumber < @EndRow
ORDER BY FirstName, LastName, EmailAddress
GO
--SQL 2005 Paging Method Using CTE:
USE AdventureWorks
GO
DECLARE @StartRow INT
DECLARE @EndRow INT
SET @StartRow = 120;
SET @EndRow = 140;
WITH PersonContact AS
(
SELECT PC.FirstName, PC.LastName, PC.EmailAddress,
ROW_NUMBER() OVER(
ORDER BY PC.FirstName, PC.LastName,PC.ContactID) AS RowNumber
FROM Person.Contact PC)
SELECT FirstName, LastName, EmailAddress
FROM PersonContact
WHERE RowNumber > @StartRow
AND RowNumber < @EndRow
ORDER BY FirstName, LastName, EmailAddress
GO
 
Share this answer
 
v3
Comments
Karruksen 12-Apr-13 4:04am    
If this is Your answer,Pls vote..

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900