当前位置:网站首页>Paging SQL

Paging SQL

2022-04-23 16:53:00 Tassel 1990

  Paginated SQL, This method is requested once

public static StringBuilder SqlPageSql(string strSql, string orderField, bool isAsc, int pageSize, int pageIndex)
        {
            StringBuilder stringBuilder = new StringBuilder();
            if (pageIndex <= 0)
                pageIndex = 1;
            string str = string.Empty;
            if (string.IsNullOrEmpty(orderField) == false)
            {
                if (orderField.ToUpper().IndexOf("ASC") + orderField.ToUpper().IndexOf("DESC") > 0)
                    str = " order by " + orderField;
                else
                    str = " order by " + orderField + " " + (isAsc ? "asc" : "desc");
            }
            else
                str = "order by (select 0)";
            stringBuilder.Append("select * From (select row_number() Over (" + str + ")");
            stringBuilder.Append(string.Concat(new object[] { " as rowNum,count(1) over() as totalRecord, * from (", strSql, ") T ) as N where rowNum > ", ((pageIndex - 1) * pageSize), " and rowNum <= ", (pageIndex * pageSize) }));
            return stringBuilder;
        }

版权声明
本文为[Tassel 1990]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231359253968.html