使用存储过程从数据库中读取一页数据出来显示
请问如何使用存储过程从数据库中每次读取一页数据出来绑定到datagrid中,分页时点击下一页的时候,再调用存储过程读取一页数据出来显示。请问这样的存储过程怎么写啊?最好顺...
请问如何使用存储过程从数据库中每次读取一页数据出来绑定到datagrid中,分页时点击下一页的时候,再调用存储过程读取一页数据出来显示。
请问这样的存储过程怎么写啊?
最好顺便说明一下如何调用。
补充
比如以前是直接从数据库中读取一段数据(比如是USER表的数据)出来,然后绑定到datagrid上面,但是现在有10万个USER,如何全部都读出来绑定到datagrid上面来,并且分页显示,这是不现实的。因为在网络上意味着要把这些全部的数据一次传输到用户的浏览器上来,用户等待的事件将达到好几分钟。现在想做的就是,一次只读取一页出来,当用户点击下一页的时候,再从数据库中读取下一页出来,绑定到datagrid上显示出来。 展开
请问这样的存储过程怎么写啊?
最好顺便说明一下如何调用。
补充
比如以前是直接从数据库中读取一段数据(比如是USER表的数据)出来,然后绑定到datagrid上面,但是现在有10万个USER,如何全部都读出来绑定到datagrid上面来,并且分页显示,这是不现实的。因为在网络上意味着要把这些全部的数据一次传输到用户的浏览器上来,用户等待的事件将达到好几分钟。现在想做的就是,一次只读取一页出来,当用户点击下一页的时候,再从数据库中读取下一页出来,绑定到datagrid上显示出来。 展开
展开全部
--------------
对YourTable分页的存储过程。
--------------
ALTER PROCEDURE [dbo].[GetsPaged]
@PageIndex INT,
@PageSize INT,
@TotalRowsCount int output
AS
DECLARE @PageLowerBound INT
DECLARE @PageUpperBound INT
SET @PageLowerBound = @PageSize * (@PageIndex - 1)
SET @PageUpperBound = @PageSize * @PageIndex
Select * FROM (SELECT ROW_NUMBER() Over(order by Id DESC) AS rowNum, *
FROM YourTable ) AS newTable
Where (rowNum > @PageLowerBound and rowNum <= @PageUpperBound)
Select @TotalRowsCount = Count(*) From YourTable
对YourTable分页的存储过程。
--------------
ALTER PROCEDURE [dbo].[GetsPaged]
@PageIndex INT,
@PageSize INT,
@TotalRowsCount int output
AS
DECLARE @PageLowerBound INT
DECLARE @PageUpperBound INT
SET @PageLowerBound = @PageSize * (@PageIndex - 1)
SET @PageUpperBound = @PageSize * @PageIndex
Select * FROM (SELECT ROW_NUMBER() Over(order by Id DESC) AS rowNum, *
FROM YourTable ) AS newTable
Where (rowNum > @PageLowerBound and rowNum <= @PageUpperBound)
Select @TotalRowsCount = Count(*) From YourTable
展开全部
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询