ObjectDataSource的 SQL自定义分页查询 ,允许每个请求仅提供与特定页面相关的数据,从而提高加载速度。
问题是 如何选择分页?
runtime.exclude
目标是让SQL函数只能为该特定页面获取数据,或者它可以关闭分页获取所有相关数据。
以上是我尝试使用CASE来切换是否根据变量PagedData的值来分页查询。但是,此方法以错误结束。
如果您需要我澄清任何事情,请告诉我。谢谢。
答案 0 :(得分:1)
你的SQL看起来不正确,但假设它是正确的,这里是如何使用if语句:
string Query = @"
DECLARE @PagedData int
SET @PagedData = 1
IF @PagedData = 1
(
SELECT * FROM (SELECT ROW_NUMBER() OVER(ORDER BY " + _sortColumns + @") AS ResultRank, *
FROM dbTable
WHERE (FeatureString LIKE '%gold%')
AS ProductsWithRowNumber WHERE ResultRank >
" + startIndex + " AND ResultRank <= (" + startIndex + " + " + pageSize + @")
)
ELSE
(
SELECT * FROM dbTable WHERE (FeatureString LIKE '%gold%')
)";