.net 如何调用分页存储过程?

来源:百度知道 编辑:UC知道 时间:2024/05/28 08:29:08
请给出详细代码,方便的话请放到我的邮箱理 abcd8571@163.com
分页存储过程 返回结果集之后 我怎么分页呢??
注意是存储过程分页

1.先创建一个存储过程
CREATE PROCEDURE [dbo].[sp_PageView]
@p_sql nvarchar(1000),
@p_page int = 1,
@p_pagesize int = 10
AS
SET NOCOUNT ON
DECLARE @P1 INT, @nRowCount INT

IF ISNULL(@p_pagesize, 0)<1
SET @p_pagesize=10
IF ISNULL(@p_page, 0)<1
SET @p_page=1
exec sp_cursoropen @P1 OUTPUT, @p_sql, 1, 335873, @nRowCount OUTPUT
IF (@P1 != 0)
BEGIN
IF @p_page > ceiling(1.0 * @nRowCount / @p_pagesize)
SET @p_page = ceiling(1.0 * @nRowCount / @p_pagesize)
SELECT @nRowCount AS RecordCount, ceiling(1.0 * @nRowCount / @p_pagesize) AS PageCount, @p_page AS Page
SET @p_page = (@p_page - 1) * @p_pagesize + 1
EXEC sp_cursorfetch @P1, 32, @p_page, @p_pagesize
EXEC sp_cursorclose @P1
END
GO

2.调用它
DataSet ds = null;
ds = pv.GetPageDS(strsql, page, pagesize);
例如:
strsql= "select