我正在使用自己的方法实现这个功能,但我不确定是否高效。以下是该功能代码:
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篇文章,我需要选择前100个结果,然后使用FOR语句跳过不需要的结果。
有什么建议吗?谢谢。