的SQL自定义分页查询为ObjectDataSource控件,允许每个请求只提供相关的特定页面数据,从而提高加载速度。SQL查询可选的自定义分页,C#的ObjectDataSource
问题是如何使页面可选?
string Query = @"
DECLARE @PagedData int
SET @PagedData = 1
SELECT
CASE
WHEN @PagedData = 1
THEN (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%'))
END";
的目标是SQL函数可以只对特定页面获取数据,或者它可以关闭寻呼获取所有的相关数据。
以上是我尝试使用CASE切换查询是否基于变量PagedData的值进行分页。但是,此方法以错误结束。
如果您需要我澄清任何事情,请让我知道,谢谢。
什么意思“失败”?任何错误信息? – McNets
错误:“子查询未与EXISTS一起引入时,只能在选择列表中指定一个表达式。” –
,你能得到最后一句,也许是一个断点,或保存在文本文件或消息框? – McNets