【发布时间】:2011-04-18 13:52:03
【问题描述】:
我正确地使用我自己的方式来实现这一点,但我不知道它是否有效,所以这是功能:
public SqlDataReader GetArticlesByPage(int pageNum, int pageSize)
{
if (pageNum == 0)
pageNum = 1;
SqlDataReader dr = SqlHelper.ExecuteReader(string.Format("SELECT TOP {0} Des, Id, Title, Icon FROM Threads ORDER BY Id DESC", pageSize * pageNum));
int div = pageNum - 1;
div = pageSize * div;
for (int i = 0; i < div; i++)
dr.Read();
return dr;
}
它工作正常,但是正如您看到的代码,当我需要在页面大小(例如每页 10 个)时获取第 10 页的文章时,我选择前 10*10 结果然后使用 FOR 语句跳过不需要的结果。
任何建议,在此先感谢。
【问题讨论】:
标签: c# sql-server sqldatareader