Beispiel #1
0
        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));
        }
Beispiel #2
0
        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));
        }