組成T-SQL Page分頁查詢字串
1: public string PageSql(string Condition, int CurrentPage, int PageSize, string SortSql, string TableName, string SelectField)
2: {
3: string sql = string.Empty;
4: int PageStart = PageSize * (CurrentPage - 1) + 1;
5: int PageEnd = PageStart + PageSize - 1;
6: if (CurrentPage <= 1)
7: {
8: string Top = PageSize > 0 ? " top " + PageSize : "";
9: sql = string.Format("Select " + Top + " {0} From {1} {2} {3}", SelectField, TableName, Condition, SortSql);
10: }
11: else
12: {
13: sql = "select {0} from(select {1}, ROW_NUMBER() OVER ( {2} ) as Pos from {3} {4}) as RowID where RowID.Pos between " + PageStart + " and " + PageEnd;
14: sql = string.Format(sql, Regex.Replace(SelectField, "([a-zA-Z0-9_]+\\.)", ""), SelectField, SortSql, TableName, Condition);
15: }
16: return sql;
17: }
全站熱搜
留言列表