CREATE proc [dbo].[GetGridDataInfo]
(
@NodeId INT, //节点ID
@SordName varchar(30), //排序字段
@SordOrder varchar(10), //排序方式
@PageIndex varchar(20), //页面ID
@PageSize varchar(20) //页面展示大小
)
as
begin
DECLARE @SQL VARCHAR(5000)
SET @SQL = '
SELECT id, pId, name
FROM
(
SELECT ROW_NUMBER() OVER( ORDER BY ' + @SordName + ' ' + @SordOrder + ' ) AS RANK, *
FROM
(
SELECT id, pId, name FROM dbo.T_treeDemoInfo
WHERE pId = ' + CAST(@NodeId AS VARCHAR(10)) + '
UNION
SELECT B.* FROM dbo.T_treeDemoInfo A
INNER JOIN T_treeDemoInfo B ON A.ID = B.pId
WHERE A.pId = ' + CAST(@NodeId AS VARCHAR(10)) + '
) A
) TEMP
WHERE RANK BETWEEN STR(( ' + @PageIndex + ' - 1) * ' + @PageSize + ' + 1) AND STR( ' + @PageIndex + ' * '+ @PageSize + ') '
PRINT(@SQL)
EXEC(@SQL)
//服务器端F分页
//检索条数存储过程配合
//ROW_NUMBER OVER