Beispiel #1
0
 /// <summary>
 /// 分页数据列表
 /// </summary>
 public List <XCLCMS.Data.Model.View.v_SysWebSetting> GetPageList(XCLNetTools.Entity.PagerInfo pageInfo, XCLNetTools.Entity.SqlPagerConditionEntity condition)
 {
     condition.TableName = "v_SysWebSetting";
     return(XCLCMS.Data.DAL.Common.Common.GetPageList <XCLCMS.Data.Model.View.v_SysWebSetting>(pageInfo, condition));
 }
Beispiel #2
0
 /// <summary>
 /// 分页数据列表
 /// </summary>
 public List <XCLCMS.Data.Model.View.v_FriendLinks> GetPageList(XCLNetTools.Entity.PagerInfo pageInfo, XCLNetTools.Entity.SqlPagerConditionEntity condition)
 {
     return(dal.GetPageList(pageInfo, condition));
 }
Beispiel #3
0
        /// <summary>
        /// 分页数据列表
        /// </summary>
        public List <XCLCMS.Data.Model.View.v_Article> GetPageList(XCLNetTools.Entity.PagerInfo pageInfo, XCLNetTools.Entity.SqlPagerConditionEntity condition)
        {
            condition.TableName = "v_Article";
            DataTable dt = XCLCMS.Data.DAL.Common.Common.GetPageList(pageInfo, condition);

            return(XCLNetTools.Generic.ListHelper.DataTableToList <XCLCMS.Data.Model.View.v_Article>(dt) as List <XCLCMS.Data.Model.View.v_Article>);
        }
Beispiel #4
0
        /// <summary>
        /// 生成分页查询的sql语句
        /// 注:sql中的out参数:TotalCount(总记录数)
        /// </summary>
        /// <param name="condition">分页参数</param>
        /// <returns>分页的sql查询语句</returns>
        public static string CreatePagerQuerySqlString(XCLNetTools.Entity.SqlPagerConditionEntity condition)
        {
            string strSql = string.Empty;

            if (null == condition)
            {
                return(strSql);
            }

            if (string.IsNullOrWhiteSpace(condition.OrderBy))
            {
                throw new ArgumentException("请指定排序参数!");
            }

            if (condition.DatabaseType == Enum.CommonEnum.DatabaseTypeEnum.MSSQL)
            {
                strSql = string.Format(@"
                                                        DECLARE @_pageIndex INT={0}
                                                        DECLARE @_pageSize INT={1}
                                                        DECLARE @Start INT=0
                                                        DECLARE @End INT=0
                                                        DECLARE @IsNeedAllCount BIT={6}

                                                        IF(@IsNeedAllCount=1)
                                                        BEGIN
                                                            --获取总记录数
                                                            SELECT @TotalCount=COUNT(1) FROM {2} WITH(NOLOCK)
                                                            {4}
                                                        END

                                                        IF(@_pageIndex<=0) SET @_pageIndex=1
                                                        IF(@_pageSize<=0) SET @_pageSize=10

                                                        SET @Start=(@_pageIndex-1)*@_pageSize+1
                                                        SET @End=@Start+@_pageSize-1

                                                        IF(@Start>@TotalCount) SET @Start=@TotalCount
                                                        IF(@End>@TotalCount) SET @End=@TotalCount

                                                        --分页
                                                        ;WITH Data AS
                                                        (
                                                            SELECT
                                                            {5},
                                                            ROW_NUMBER() OVER (ORDER BY {3}) AS RowNumber
                                                            FROM {2} WITH(NOLOCK)
                                                            {4}
                                                        )
                                                        SELECT
                                                        {5}
                                                        FROM Data
                                                        WHERE RowNumber >= @Start AND RowNumber <= @End",
                                       condition.PageIndex,                                                                                                                 //{0}
                                       condition.PageSize,                                                                                                                  //{1}
                                       condition.TableName,                                                                                                                 //{2}
                                       condition.OrderBy,                                                                                                                   //{3}
                                       string.IsNullOrWhiteSpace(condition.Where) ? string.Empty : (" where " + condition.Where),                                           //{4}
                                       null == condition.FieldNameList || condition.FieldNameList.Count == 0 ? " * " : string.Join(",", condition.FieldNameList.ToArray()), //{5}
                                       condition.IsNeedAllCount ? 1 : 0                                                                                                     //{6}
                                       );
            }

            return(strSql);
        }
 /// <summary>
 /// 分页列表
 /// </summary>
 public List <XCLCMS.Data.Model.Article> GetPageList(XCLNetTools.Entity.PagerInfo pageInfo, XCLNetTools.Entity.SqlPagerConditionEntity condition)
 {
     return(dal.GetPageList(pageInfo, condition));
 }
Beispiel #6
0
        /// <summary>
        /// 分页
        /// </summary>
        public static List <T> GetPageList <T>(XCLNetTools.Entity.PagerInfo pageInfo, XCLNetTools.Entity.SqlPagerConditionEntity condition) where T : new()
        {
            condition.PageIndex = pageInfo.PageIndex;
            condition.PageSize  = pageInfo.PageSize;

            string strSql = XCLNetTools.DataBase.SQLLibrary.CreatePagerQuerySqlString(condition);

            using (var db = new XCLCMS.Data.DAL.Common.BaseDAL().CreateSqlConnection())
            {
                var ps = new DynamicParameters();
                ps.Add("@TotalCount", dbType: DbType.Int32, direction: ParameterDirection.Output);
                using (var dr = db.ExecuteReader(strSql, ps))
                {
                    var lst = XCLNetTools.DataSource.DataReaderHelper.DataReaderToList <T>(dr);
                    pageInfo.RecordCount = ps.Get <int>("@TotalCount");
                    return(lst);
                }
            }
        }
Beispiel #7
0
 /// <summary>
 /// 分页数据列表
 /// </summary>
 public List <XCLCMS.Data.Model.UserInfo> GetPageList(XCLNetTools.Entity.PagerInfo pageInfo, XCLNetTools.Entity.SqlPagerConditionEntity condition)
 {
     condition.TableName = "UserInfo";
     return(XCLCMS.Data.DAL.Common.Common.GetPageList <XCLCMS.Data.Model.UserInfo>(pageInfo, condition));
 }