码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2015-10-27 16:52:56      阅读:178      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!