zaterdag, december 10, 2005

 

paging data

Altijd al een afweging tussen mogelijkheden geweest, paging in datasets. Vandaag een beetje aan het researchen hoe dat beter zou kunnen, kom ik een nieuwe feature van sql2005 tegen:

SP:

CREATE PROCEDURE dbo.ShowBlogPosts @PageIndex INT, @PageSize INT AS BEGIN WITH Posted AS ( SELECT ROW_NUMBER() OVER (ORDER BY PostID) AS RowNumber, PostID, PostDate FROM BlogPosts) SELECT * FROM Posted WHERE RowNumber between @PageIndex and @PageIndex+@PageSize END

Hhier kun je dus de page in meegeven, pretty cool.

Voor mensen die nog met 2000 aan de slag moeten:

SELECT TOP number_of_items_on_page *FROM tableWHERE id NOT IN (SELECT TOP offset id FROM table ORDER BY id)ORDER BY id;

Artikel:

http://codebetter.com/blogs/sahil.malik/archive/2005/12/09/135529.aspx