浅谈mssql access数据库 top分页方法

2020-07-10 08:06:21易采站长站整理

            sbsql.append(” ( “);
            sbsql.appendformat(” select top {0} * “, _recordcount – _pagesize * (_pageindex – 1));
            sbsql.appendformat(” from ({0}) as t “, _safesql);
            sbsql.appendformat(” order by {0} “, sbreverseorder.tostring());
            sbsql.append(” ) as t “);
            sbsql.appendformat(” order by {0} “, sboriginalorder.tostring());
        }
        //前半页数时的分页
        else if (_pageindex < (pagecount / 2 + pagecount % 2))
        {
            sbsql.append(” select * from “);
            sbsql.append(” ( “);
            sbsql.appendformat(” select top {0} * from “, _pagesize);
            sbsql.append(” ( “);
            sbsql.appendformat(” select top {0} * “, _pagesize * _pageindex);
            sbsql.appendformat(” from ({0}) as t “, _safesql);
            sbsql.appendformat(” order by {0} “, sboriginalorder.tostring());
            sbsql.append(” ) as t “);
            sbsql.appendformat(” order by {0} “, sbreverseorder.tostring());
            sbsql.append(” ) as t “);
            sbsql.appendformat(” order by {0} “, sboriginalorder.tostring());
        }
        //后半页数时的分页
        else
        {
            sbsql.appendformat(” select top {0} * from “, _pagesize);
            sbsql.append(” ( “);
            sbsql.appendformat(” select top {0} * “, ((_recordcount % _pagesize) + _pagesize * (pagecount – _pageindex)));
相关文章 大家在看