加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sqlserver分页

发布时间:2020-12-12 14:55:36 所属栏目:MsSql教程 来源:网络整理
导读:? 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,numre

?

 
 
  1. EXEC?UP_SplitPages?'select?RID,user_id,user_name,balance,user_state,
  2. 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??
  3. ?
  4. ?
  5. ?
  6. ?
  7. ?
  8. ?
  9. ?
  10. CREATE??PROCEDURE?UP_SplitPages?
  11. ????@SqlQuery?NVARCHAR(4000),?--查询字符串?
  12. ????@OrderFieldName??VARCHAR(100),??--按该列为关键字来进行排序分页?
  13. ????@CurrentPage?INT,--第N页?(如果是?0??则读取?最后?一页的记录??)?
  14. ????@PageSize?INT,--每页行数?
  15. ????@OrderType???INT??????
  16. ?
  17. AS?
  18. ?
  19. DECLARE?@sql?NVARCHAR(4000)?
  20. DECLARE?@tPageCount?INT?
  21. ?
  22. IF?len(@OrderFieldName)>3?
  23. ????SET?@sql=?@SqlQuery?+?'??ORDER?BY??'+@OrderFieldName?
  24. ELSE?
  25. ?????????????SET?@sql=?@SqlQuery?
  26. ?????
  27. ?
  28. BEGIN?
  29. ????SET?NOCOUNT?ON?
  30. ????
  31. ????DECLARE?@P1?INT--P1是游标的id?
  32. ????DECLARE?@rowcount?INT?
  33. ?
  34. ????????????
  35. ?
  36. ?????
  37. ????EXEC?sp_cursoropen?@P1?OUTPUT,@sql,@scrollopt=1,@ccopt=1,@rowcount=@rowcount?OUTPUT?
  38. ?
  39. ????????????SELECT??@rowcount?AS?RowsCount,@CurrentPage?AS?CurrentPage???
  40. ?
  41. ????SET??@tPageCount?=?CEILING(1.0*@rowcount/@PageSize)?
  42. ?
  43. ????IF?@CurrentPage?=?0??
  44. ????????SET??@CurrentPage?=?@tPageCount--?@PageIndex?=?0?表示在调用时,是首次查询,先读取?最后?一页的记录???
  45. ?
  46. ????SET?@CurrentPage=(@CurrentPage-1)*@PageSize+1?
  47. ?
  48. ?
  49. ????EXEC?sp_cursorfetch?@P1,16,@CurrentPage,@PageSize??
  50. ????EXEC?sp_cursorclose?@P1?
  51. ?
  52. ????--SELECT??@tPageCount?AS?PagesCount?,@rowcount?AS?RowsCount,@CurrentPage?AS?CurrentPage???
  53. ????????SET?NOCOUNT?OFF?
  54. END?
  55. ?
  56. GO?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读