diff --git a/SiteServer.CMS/Provider/DatabaseDao.cs b/SiteServer.CMS/Provider/DatabaseDao.cs
index e5072cdbe..0bff7f2cd 100644
--- a/SiteServer.CMS/Provider/DatabaseDao.cs
+++ b/SiteServer.CMS/Provider/DatabaseDao.cs
@@ -2023,28 +2023,25 @@ public string GetPageSqlString(string tableName, string columnNames, string wher
}
else if (WebConfigUtils.DatabaseType == DatabaseType.SqlServer && IsSqlServer2012)
{
- if (IsSqlServer2012)
+ retval = limit == 0
+ ? $"SELECT {columnNames} FROM {tableName} {whereSqlString} {orderSqlString} OFFSET {offset} ROWS"
+ : $"SELECT {columnNames} FROM {tableName} {whereSqlString} {orderSqlString} OFFSET {offset} ROWS FETCH NEXT {limit} ROWS ONLY";
+ }
+ else if (WebConfigUtils.DatabaseType == DatabaseType.SqlServer && !IsSqlServer2012)
+ {
+ if (offset == 0)
{
- retval = limit == 0
- ? $"SELECT {columnNames} FROM {tableName} {whereSqlString} {orderSqlString} OFFSET {offset} ROWS"
- : $"SELECT {columnNames} FROM {tableName} {whereSqlString} {orderSqlString} OFFSET {offset} ROWS FETCH NEXT {limit} ROWS ONLY";
+ retval = $"SELECT TOP {limit} {columnNames} FROM {tableName} {whereSqlString} {orderSqlString}";
}
else
{
- if (offset == 0)
- {
- retval = $"SELECT TOP {limit} {columnNames} FROM {tableName} {whereSqlString} {orderSqlString}";
- }
- else
- {
- var rowWhere = limit == 0
- ? $@"WHERE [row_num] > {offset}"
- : $@"WHERE [row_num] BETWEEN {offset + 1} AND {offset + limit}";
+ var rowWhere = limit == 0
+ ? $@"WHERE [row_num] > {offset}"
+ : $@"WHERE [row_num] BETWEEN {offset + 1} AND {offset + limit}";
- retval = $@"SELECT * FROM (
+ retval = $@"SELECT * FROM (
SELECT {columnNames}, ROW_NUMBER() OVER ({orderSqlString}) AS [row_num] FROM [{tableName}] {whereSqlString}
) as T {rowWhere}";
- }
}
}
else if (WebConfigUtils.DatabaseType == DatabaseType.PostgreSql)
diff --git a/SiteServer.Web/Web.config b/SiteServer.Web/Web.config
index 1c175ebd4..69921e6b9 100644
--- a/SiteServer.Web/Web.config
+++ b/SiteServer.Web/Web.config
@@ -14,7 +14,6 @@
-