public static string CreatePageCountString <Tobj>(DBPage page, ref List <DbParameter> list) { string where = null; Type type = typeof(Tobj); where = GetWhereString(page.Where, ref list); var property = type.GetProperty(CreateSQl.IsDelete, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); if (property != null) { if (string.IsNullOrEmpty(where)) { where = " where IsDelete=0"; } else { where += " and IsDelete=0"; } } return(string.Format(" select count(*) from {0} {1}", GetNameByType(typeof(Tobj)) + "(nolock)", where)); }
public static string CreatePageString <Tobj>(DBPage page, ref List <DbParameter> list) { StringBuilder strWhere = new StringBuilder(); Type type = typeof(Tobj); string orderBy = string.Empty; string strsql = string.Empty; if (!string.IsNullOrEmpty(page.OrderBy)) { orderBy = page.OrderBy; } string where = GetWhereString(page.Where, ref list); var property = type.GetProperty(CreateSQl.IsDelete, BindingFlags.IgnoreCase | BindingFlags.Public | BindingFlags.Instance); if (property != null) { if (string.IsNullOrEmpty(where)) { where = " where IsDelete=0"; } else { where += " and IsDelete=0"; } } if (page.PageIndex <= 1) { return(string.Format("SELECT TOP {0} * FROM {1} {2} ORDER BY {3} {4}", page.PageSize, GetNameByType(type, page.Where) + "(nolock)", where, orderBy, page.SortCol)); } else { strsql = "SELECT TOP {0} * FROM (SELECT ROW_NUMBER() OVER (ORDER BY {1} {6}) AS RowNumber,* from {2} {3}) as A where RowNumber>{4} order by {5} {6}"; } return(string.Format(strsql, page.PageSize, orderBy, GetNameByType(type, page.Where) + "(nolock)", where, (page.PageIndex - 1) * page.PageSize, orderBy, page.SortCol)); }