首页 > 数据库技术 > 详细

对sql进行分页处理(Oracle版)

时间:2015-10-27 16:49:59      阅读:287      评论:0      收藏:0      [点我收藏+]

直接代码

/// <summary>
        /// 对sql进行分页处理
        /// </summary>
        /// <param name="sql"></param>
        /// <returns></returns>
        public static string GetPaginationSQL(string sql)
        {
            int intPageSize = int.Parse(HttpContext.Current.Request["rows"] == null ? "0" : HttpContext.Current.Request["rows"].ToString());
            int intCurrentPage = int.Parse(HttpContext.Current.Request["page"] == null ? "0" : HttpContext.Current.Request["page"].ToString());
            string sort = HttpContext.Current.Request["sort"];
            string order = HttpContext.Current.Request["order"];

            int startRow = (intCurrentPage - 1) * intPageSize + 1;
            int endRow = startRow - 1 + intPageSize;
            StringBuilder sb = new StringBuilder();

            sb.Append("SELECT * FROM ( ");
            sb.Append("SELECT A.*, ROWNUM RN FROM ( ");
            sb.AppendFormat("{0} ", sql);
            sb.Append(string.IsNullOrEmpty(sort) ? "" : string.Format("order by {0} {1} ", sort, order));
            sb.AppendFormat(") A WHERE ROWNUM <={0} ", endRow);
            sb.AppendFormat(") WHERE RN >={0} ", startRow);

            return sb.ToString();
        }

 

对sql进行分页处理(Oracle版)

原文:http://www.cnblogs.com/mybky/p/4914488.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!