示例#1
0
        /// <summary>
        /// 得到一个对象实体
        /// </summary>
        public BCW.Model.Forumstat GetForumstat(int ID)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select  top 1 ID,ForumID,UsID,UsName,tTotal,rTotal,gTotal,jTotal,AddTime from tb_Forumstat ");
            strSql.Append(" where ID=@ID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID", SqlDbType.Int, 4)
            };
            parameters[0].Value = ID;

            BCW.Model.Forumstat model = new BCW.Model.Forumstat();
            using (SqlDataReader reader = SqlHelper.ExecuteReader(strSql.ToString(), parameters))
            {
                if (reader.HasRows)
                {
                    reader.Read();
                    model.ID      = reader.GetInt32(0);
                    model.ForumID = reader.GetInt32(1);
                    model.UsID    = reader.GetInt32(2);
                    model.UsName  = reader.GetString(3);
                    model.tTotal  = reader.GetInt32(4);
                    model.rTotal  = reader.GetInt32(5);
                    model.gTotal  = reader.GetInt32(6);
                    model.jTotal  = reader.GetInt32(7);
                    model.AddTime = reader.GetDateTime(11);
                    return(model);
                }
                else
                {
                    return(null);
                }
            }
        }
示例#2
0
        /// <summary>
        /// 更新一条数据
        /// </summary>
        public void Update(BCW.Model.Forumstat model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("update tb_Forumstat set ");
            strSql.Append("ForumID=@ForumID,");
            strSql.Append("UsID=@UsID,");
            strSql.Append("UsName=@UsName,");
            strSql.Append("tTotal=@tTotal,");
            strSql.Append("rTotal=@rTotal,");
            strSql.Append("AddTime=@AddTime");
            strSql.Append(" where ID=@ID ");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ID",      SqlDbType.Int,       4),
                new SqlParameter("@ForumID", SqlDbType.Int,       4),
                new SqlParameter("@UsID",    SqlDbType.Int,       4),
                new SqlParameter("@UsName",  SqlDbType.NVarChar, 50),
                new SqlParameter("@tTotal",  SqlDbType.Int,       4),
                new SqlParameter("@rTotal",  SqlDbType.Int,       4),
                new SqlParameter("@AddTime", SqlDbType.SmallDateTime)
            };
            parameters[0].Value = model.ID;
            parameters[1].Value = model.ForumID;
            parameters[2].Value = model.UsID;
            parameters[3].Value = model.UsName;
            parameters[4].Value = model.tTotal;
            parameters[5].Value = model.rTotal;
            parameters[6].Value = model.AddTime;

            SqlHelper.ExecuteSql(strSql.ToString(), parameters);
        }
示例#3
0
        /// <summary>
        /// 取得每页记录
        /// </summary>
        /// <param name="p_pageIndex">当前页</param>
        /// <param name="p_pageSize">分页大小</param>
        /// <param name="p_recordCount">返回总记录数</param>
        /// <param name="strWhere">查询条件</param>
        /// <returns>IList Forumstat</returns>
        public IList <BCW.Model.Forumstat> GetForumstats(int p_pageIndex, int p_pageSize, string strWhere, out int p_recordCount)
        {
            IList <BCW.Model.Forumstat> listForumstats = new List <BCW.Model.Forumstat>();
            string sTable     = "tb_Forumstat";
            string sPkey      = "id";
            string sField     = "ID,ForumID,UsID,UsName,tTotal,rTotal,gTotal,jTotal,AddTime";
            string sCondition = strWhere;
            string sOrder     = "ID Desc";
            int    iSCounts   = 0;

            using (SqlDataReader reader = SqlHelper.RunProcedureMe(sTable, sPkey, sField, p_pageIndex, p_pageSize, sCondition, sOrder, iSCounts, out p_recordCount))
            {
                //计算总页数
                if (p_recordCount > 0)
                {
                    int pageCount = BasePage.CalcPageCount(p_recordCount, p_pageSize, ref p_pageIndex);
                }
                else
                {
                    return(listForumstats);
                }
                while (reader.Read())
                {
                    BCW.Model.Forumstat objForumstat = new BCW.Model.Forumstat();
                    objForumstat.ID      = reader.GetInt32(0);
                    objForumstat.ForumID = reader.GetInt32(1);
                    objForumstat.UsID    = reader.GetInt32(2);
                    objForumstat.UsName  = reader.GetString(3);
                    objForumstat.tTotal  = reader.GetInt32(4);
                    objForumstat.rTotal  = reader.GetInt32(5);
                    objForumstat.gTotal  = reader.GetInt32(6);
                    objForumstat.jTotal  = reader.GetInt32(7);
                    objForumstat.AddTime = reader.GetDateTime(11);
                    listForumstats.Add(objForumstat);
                }
            }
            return(listForumstats);
        }
示例#4
0
        /// <summary>
        /// 增加一条数据
        /// </summary>
        public int Add(BCW.Model.Forumstat model)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("insert into tb_Forumstat(");
            strSql.Append("ForumID,UsID,UsName,tTotal,rTotal,AddTime)");
            strSql.Append(" values (");
            strSql.Append("@ForumID,@UsID,@UsName,@tTotal,@rTotal,@AddTime)");
            strSql.Append(";select @@IDENTITY");
            SqlParameter[] parameters =
            {
                new SqlParameter("@ForumID", SqlDbType.Int,       4),
                new SqlParameter("@UsID",    SqlDbType.Int,       4),
                new SqlParameter("@UsName",  SqlDbType.NVarChar, 50),
                new SqlParameter("@tTotal",  SqlDbType.Int,       4),
                new SqlParameter("@rTotal",  SqlDbType.Int,       4),
                new SqlParameter("@AddTime", SqlDbType.SmallDateTime)
            };
            parameters[0].Value = model.ForumID;
            parameters[1].Value = model.UsID;
            parameters[2].Value = model.UsName;
            parameters[3].Value = model.tTotal;
            parameters[4].Value = model.rTotal;
            parameters[5].Value = model.AddTime;

            object obj = SqlHelper.GetSingle(strSql.ToString(), parameters);

            if (obj == null)
            {
                return(1);
            }
            else
            {
                return(Convert.ToInt32(obj));
            }
        }
示例#5
0
        /// <summary>
        /// 论坛排行分页记录
        /// </summary>
        /// <param name="p_pageIndex">当前页</param>
        /// <param name="p_pageSize">每页显示记录数</param>
        /// <param name="p_recordCount">返回总记录数</param>
        /// <param name="strWhere">查询条件</param>
        /// <returns>List</returns>
        public IList <BCW.Model.Forumstat> GetForumstats(int p_pageIndex, int p_pageSize, int ptype, string sWhere, out int p_recordCount)
        {
            IList <BCW.Model.Forumstat> listForumstat = new List <BCW.Model.Forumstat>();

            // 计算记录数
            string strWhere = "";

            if (ptype == 0)
            {
                strWhere = "where (select GroupId from tb_Forum where ID=b.ForumID)=0";
            }
            else
            {
                strWhere = "where (select GroupId from tb_Forum where ID=b.ForumID)<>0";
            }


            if (sWhere != "")
            {
                strWhere += " and " + sWhere + "";
            }

            string countString = "SELECT COUNT(DISTINCT b.ForumID) FROM tb_Forumstat b " + strWhere + "";

            p_recordCount = Convert.ToInt32(SqlHelper.GetSingle(countString));

            if (p_recordCount > 0)
            {
                int pageCount = BasePage.CalcPageCount(p_recordCount, p_pageSize, ref p_pageIndex);
            }
            else
            {
                return(listForumstat);
            }
            // 取出相关记录


            string queryString = "select b.ForumID,sum(b.tTotal+b.rTotal) as Total from tb_forumstat b " + strWhere + "  Group by b.ForumID ORDER BY Total Desc";

            using (SqlDataReader reader = SqlHelper.ExecuteReader(queryString))
            {
                int stratIndex = (p_pageIndex - 1) * p_pageSize;
                int endIndex   = p_pageIndex * p_pageSize;
                int k          = 0;
                while (reader.Read())
                {
                    if (k >= stratIndex && k < endIndex)
                    {
                        BCW.Model.Forumstat objForumstat = new BCW.Model.Forumstat();
                        objForumstat.ForumID = reader.GetInt32(0);
                        objForumstat.tTotal  = reader.GetInt32(1);

                        listForumstat.Add(objForumstat);
                    }

                    if (k == endIndex)
                    {
                        break;
                    }

                    k++;
                }
            }

            return(listForumstat);
        }
示例#6
0
        /// <summary>
        /// 论坛排行分页记录 增加上周排行 黄国军20160124
        /// </summary>
        /// <param name="p_pageIndex">当前页</param>
        /// <param name="p_pageSize">每页显示记录数</param>
        /// <param name="p_recordCount">返回总记录数</param>
        /// <param name="strWhere">查询条件</param>
        /// <param name="strOrder">排序条件</param>
        /// <returns>List</returns>
        public IList <BCW.Model.Forumstat> GetForumstats(int p_pageIndex, int p_pageSize, string strWhere, string strOrder, int showtype, out int p_recordCount)
        {
            IList <BCW.Model.Forumstat> listForumstat = new List <BCW.Model.Forumstat>();
            string strWhe = string.Empty;

            if (strWhere != "" || showtype > 1)
            {
                strWhe += " where ";
            }

            if (strWhere != "")
            {
                strWhe += strWhere;
            }

            if (strWhere != "" && showtype > 1)
            {
                strWhe += " and ";
            }

            if (showtype == 2)  //本周
            {
                #region 本周
                string M_Str_mindate = string.Empty;
                switch (DateTime.Now.DayOfWeek)
                {
                case DayOfWeek.Monday:
                    M_Str_mindate = DateTime.Now.AddDays(0).ToShortDateString() + "";
                    break;

                case DayOfWeek.Tuesday:
                    M_Str_mindate = DateTime.Now.AddDays(-1).ToShortDateString() + "";
                    break;

                case DayOfWeek.Wednesday:
                    M_Str_mindate = DateTime.Now.AddDays(-2).ToShortDateString() + "";
                    break;

                case DayOfWeek.Thursday:
                    M_Str_mindate = DateTime.Now.AddDays(-3).ToShortDateString() + "";
                    break;

                case DayOfWeek.Friday:
                    M_Str_mindate = DateTime.Now.AddDays(-4).ToShortDateString() + "";
                    break;

                case DayOfWeek.Saturday:
                    M_Str_mindate = DateTime.Now.AddDays(-5).ToShortDateString() + "";
                    break;

                case DayOfWeek.Sunday:
                    M_Str_mindate = DateTime.Now.AddDays(-6).ToShortDateString() + "";
                    break;
                }
                strWhe += " AddTime>='" + M_Str_mindate + "'";
                #endregion
            }
            else if (showtype == 3) //本月
            {
                #region 本月
                strWhe += " Year(AddTime)=" + DateTime.Now.Year + " and Month(AddTime)=" + DateTime.Now.Month + "";
                #endregion
            }
            else if (showtype == 4) //上月
            {
                #region  月
                DateTime ForDate  = DateTime.Parse(DateTime.Now.AddMonths(-1).ToShortDateString());
                int      ForYear  = ForDate.Year;
                int      ForMonth = ForDate.Month;
                strWhe += " Year(AddTime) = " + (ForYear) + " AND Month(AddTime) = " + (ForMonth) + "";
                #endregion
            }
            else if (showtype == 5) //上周
            {
                #region  周
                DateTime ForDate       = DateTime.Parse(DateTime.Now.AddDays(-7).ToShortDateString());
                string   M_Str_mindate = string.Empty;
                string   M_Str_Maxdate = string.Empty;

                switch (ForDate.DayOfWeek)
                {
                case DayOfWeek.Monday:
                    M_Str_mindate = ForDate.AddDays(0).ToShortDateString() + "";
                    break;

                case DayOfWeek.Tuesday:
                    M_Str_mindate = ForDate.AddDays(-1).ToShortDateString() + "";
                    break;

                case DayOfWeek.Wednesday:
                    M_Str_mindate = ForDate.AddDays(-2).ToShortDateString() + "";
                    break;

                case DayOfWeek.Thursday:
                    M_Str_mindate = ForDate.AddDays(-3).ToShortDateString() + "";
                    break;

                case DayOfWeek.Friday:
                    M_Str_mindate = ForDate.AddDays(-4).ToShortDateString() + "";
                    break;

                case DayOfWeek.Saturday:
                    M_Str_mindate = ForDate.AddDays(-5).ToShortDateString() + "";
                    break;

                case DayOfWeek.Sunday:
                    M_Str_mindate = ForDate.AddDays(-6).ToShortDateString() + "";
                    break;
                }
                M_Str_Maxdate = DateTime.Parse(M_Str_mindate).AddDays(5).ToShortDateString();
                strWhe       += " AddTime between '" + M_Str_mindate + " 00:00:00' AND '" + M_Str_Maxdate + " 23:59:59'";
                #endregion
            }

            #region 计算记录数
            // 计算记录数
            string countString = "SELECT COUNT(DISTINCT UsID) FROM tb_Forumstat " + strWhe + "";
            p_recordCount = Convert.ToInt32(SqlHelper.GetSingle(countString));
            if (p_recordCount > 100)
            {
                p_recordCount = 100;
            }
            if (p_recordCount > 0)
            {
                int pageCount = BasePage.CalcPageCount(p_recordCount, p_pageSize, ref p_pageIndex);
            }
            else
            {
                return(listForumstat);
            }
            #endregion

            #region 取出相关记录数
            // 取出相关记录
            string queryString = "SELECT TOP 100 UsID," + strOrder + " FROM tb_Forumstat " + strWhe + " GROUP BY UsID ORDER BY " + strOrder + " DESC";

            using (SqlDataReader reader = SqlHelper.ExecuteReader(queryString))
            {
                int stratIndex = (p_pageIndex - 1) * p_pageSize;
                int endIndex   = p_pageIndex * p_pageSize;
                int k          = 0;
                while (reader.Read())
                {
                    if (k >= stratIndex && k < endIndex)
                    {
                        BCW.Model.Forumstat objForumstat = new BCW.Model.Forumstat();
                        objForumstat.UsID = reader.GetInt32(0);
                        //objForumstat.UsName = reader.GetString(1);
                        objForumstat.tTotal = reader.GetInt32(1);

                        listForumstat.Add(objForumstat);
                    }

                    if (k == endIndex)
                    {
                        break;
                    }

                    k++;
                }
            }
            #endregion

            return(listForumstat);
        }