Ejemplo n.º 1
0
 internal override void CreatePagination(PaginationComponent pagination, String orderBy, StringBuilder rawSql)
 {
     Check.IfNullOrZero(pagination.Size);
     Check.IfNullOrZero(orderBy);
     Check.IfNullOrZero(rawSql);
     rawSql = rawSql.Append($@" {orderBy} LIMIT {pagination.Size * (pagination.Index - 1)},{pagination.Size} ;");
 }
Ejemplo n.º 2
0
        internal override void CreatePagination(PaginationComponent pagination, String orderBy, StringBuilder rawSql)
        {
            Check.IfNullOrZero(pagination.Size);
            Check.IfNullOrZero(orderBy);
            Check.IfNullOrZero(rawSql);

            String sql = "";

            if (_mssqlPaginationVersion == MsSqlPaginationVersion.GREATERTHAN2012)
            {
                rawSql = rawSql.Append($@" {orderBy} OFFSET ({pagination.Index * pagination.Size}) ROWS FETCH NEXT {pagination.Size} ROWS ONLY ;");
            }
            else
            {
                sql = rawSql.ToString();
                sql = $@" SELECT * FROM ( {sql.Insert(sql.IndexOf(" "), $@" TOP({pagination.Size}) ROW_NUMBER() OVER({orderBy}) AS rownumber,")} ) AS temprow WHERE temprow.rownumber>({pagination.Size}*({pagination.Index}-1)) {orderBy}";
            }
            rawSql = new StringBuilder(sql);
        }
Ejemplo n.º 3
0
 /// <summary>
 /// 追加分页语句
 /// </summary>
 /// <param name="pageIndex"></param>
 /// <param name="pageSize"></param>
 /// <param name="orderBy"></param>
 /// <param name="rawSql"></param>
 /// <returns></returns>
 internal abstract void CreatePagination(PaginationComponent pagination, String orderBy, StringBuilder rawSql);