Thank you guys for your solution , But in sql 2005 we have ROW_NUMBER() Function that help you write storedprocedure much easier :
Look at this sp:
CREATE PROCEDURE sprocEmailAddressSelectList
@contactPersonId int,
@startRowIndex int,
@pageSize int
AS
SELECT
Id,
Email,
EmailType,
ContactPersonId,
ConcurrencyId
FROM
(SELECT ROW_NUMBER() OVER (ORDER BY Id) AS Row,
Id,
Email,
EmailType,
ContactPersonId,
ConcurrencyId
FROM EmailAddress) AS EmailRows
WHERE
(Row between (@startRowIndex) AND @startRowIndex + @pageSize - 1)
AND ContactPersonId = @contactPersonId
for more information you can look at this article :
http://imar.spaanjaars.com/QuickDocId.aspx?quickdoc=479