EXEC UP_SplitPages 'select RID,user_ID,user_name,balance,user_state, CONVERT(varchar(30),reg_time,11)+'' ''+CONVERT(varchar(30),8) as reg_time,CONVERT(varchar(30),paID_time,8) as paID_time,pay_type,user_grade,num_type,num_grade,numrent_type,agent_no,pause_time,8) as pause_time from VIEW_UserInfo with (nolock) where 1=1','reg_time DESC',1 ,100, 0 CREATE PROCEDURE UP_SplitPages @sqlquery NVARCHAR(4000), --查询字符串 @OrderFIEldname VARCHAR(100), --按该列为关键字来进行排序分页 @CurrentPage INT,--第N页 (如果是 0 则读取 最后 一页的记录 ) @PageSize INT,--每页行数 @OrderType INT AS DECLARE @sql NVARCHAR(4000) DECLARE @tPageCount INT IF len(@OrderFIEldname)>3 SET @sql= @sqlquery + ' ORDER BY '+@OrderFIEldname ELSE SET @sql= @sqlquery BEGIN SET NOCOUNT ON DECLARE @P1 INT--P1是游标的ID DECLARE @rowcount INT EXEC sp_cursoropen @P1 OUTPUT,@sql,@scrollopt=1,@ccopt=1,@rowcount=@rowcount OUTPUT SELECT @rowcount AS RowsCount,@CurrentPage AS CurrentPage SET @tPageCount = CEIliNG(1.0*@rowcount/@PageSize) IF @CurrentPage = 0 SET @CurrentPage = @tPageCount-- @PageIndex = 0 表示在调用时,是首次查询,先读取 最后 一页的记录 SET @CurrentPage=(@CurrentPage-1)*@PageSize+1 EXEC sp_cursorfetch @P1,16,@CurrentPage,@PageSize EXEC sp_cursorclose @P1 --SELECT @tPageCount AS PagesCount ,@rowcount AS RowsCount,@CurrentPage AS CurrentPage SET NOCOUNT OFF END GO @H_924_419@ 总结以上是内存溢出为你收集整理的sqlserver分页全部内容,希望文章能够帮你解决sqlserver分页所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)