Как лучше всего выполнять подкачку на моей странице ASP при отображении списка элементов?
Я просто хочу добавить еще одну особенность к ответу мистера Уитя. Почему бы вам не попробовать использовать функции linq Take () и Skip () (очевидно, если вы используете dotnet framework 3.5+)
Это действительно полезно при работе с большими наборами данных.
Посмотри
Использование метода Take и Skip в запросах LINQ
Я знал, что в SQL-сервере нет предложения MySQL LIMIT (должны поддерживаться и 2000, и 2005). Как я могу получить некоторые конкретные записи (Запись 20-30) из БД?
Вы можете сделать это в SQLSERVER 2005+, используя функцию ранжирования Row_Number () среди других альтернатив. Пример примера включен в настоящее время
Сначала я создаю фиктивную таблицу и вставляю около 50 записей
declare @tbl table(name varchar(50),age int)
;with num_cte as
( select 1 as rn
union all
select rn+1 from num_cte where rn<50
)
insert @tbl
select names ,rn + 20 ageval
from num_cte
cross apply( select 'name' + CAST(rn as varchar(2)) AS names) names
select * from @tbl
Теперь с помощью функции Row_Number () я собираю записи между 20 и 30
.
select name,age from(
select ROW_NUMBER()over (order by age) as rownum,name,age from @tbl) X
where X.rownum between 20 and 30
Однако для достижения того же в SQL SERVER 2000 следующий запрос поможет
select name,age from(
select t1.name,t1.age,
(select count(*)+1 from @tbl where name<>t1.name and age<=t1.age) rownum
from @tbl t1
)X(name,age,rownum)
where rownum between 20 and 30