string Query = string.Format(@"SELECT * FROM (SELECT *, " +
@"ROW_NUMBER() OVER(ORDER BY PRODUCT_ID DESC ) AS ROW_NUM FROM({0}) " +
@"AS TEMP_INNER) AS TEMP_OUTER WHERE ROW_NUM BETWEEN '{1}' AND " +
@"({2} + {3}) - 1", strSql, startRowIndex, startRowIndex, maximumRows);