Я правильно использую свой собственный способ для достижения этой цели, но я не знаю, эффективен он или нет, так что это функция:
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.
Любые предложения, заранее спасибо.