Exemplo n.º 1
0
    public static DataRow Counter(Boolean BUpdate)
    {
        //string UserIP = Request.UserHostAddress.ToString();
        string strsql = "";

        if (!BUpdate)
        {
            strsql = "Select TotalBrowser,TodayBrowser From T_counter";
            DataRow dr = DBFun.GetDataRow(strsql);
            return(dr);
        }
        string  strqry = "select * From T_counter";
        DataRow drw    = DBFun.GetDataRow(strqry);

        if (drw["TodayDate"].ToString() != DateTime.Today.ToString())
        {
            //新的一天
            if ((int)drw["topip"] < (int)drw["todayip"])
            {
                //刷新最高访问量
                strsql = string.Format("Update [T_counter] Set topip={0},topdate=#{1}#", drw["todayip"].ToString(), drw["TodayDate"].ToString());
                DBFun.ExecuteSql(strsql);
            }
            strsql = string.Format("Update [T_Counter] Set todayip=0,todaybrowser=0,daynum=daynum+1,todaydate=#{0}#,"
                                   + "yesterdayip={1},yesterdaybrowser={2}", DateTime.Today.ToString(), drw["todayip"].ToString(), drw["todaybrowser"].ToString());
            DBFun.ExecuteSql(strsql);
            strsql = string.Format("Insert Into [T_counterMore] (vtime,vip,browser) values(#{0}#,{1},{2})",
                                   DateTime.Today.AddDays(-1).ToString(), drw["todayip"].ToString(), drw["todaybrowser"].ToString());
            DBFun.ExecuteSql(strsql);
            strsql = string.Format("Delete From T_counterMore where vtime<=#{0}#", DateTime.Today.AddDays(-15).ToString());
            DBFun.ExecuteSql(strsql);
            strsql = "Delete From T_Online";
            DBFun.ExecuteSql(strsql);
        }
        else
        {
            //统计开始
            strsql = "Update T_Counter Set todaybrowser=todaybrowser+1,totalbrowser=totalbrowser+1";
            DBFun.ExecuteSql(strsql);
            //strqry = string.Format("Select IP From [T_Online] where ip='{0}'", UserIP);
            if (!DBFun.SearchTable(strqry))
            {
                //新用户访问
                //strsql = string.Format("Insert Into [T_Online] (sessionid,userid,ip) values('{0}','{1}','{2}')",
                //    Session.SessionID.ToString(), Session["Userid"].ToString(), UserIP);
                //DBFun.ExecuteSql(strsql);
                strsql = "Update T_counter Set todayip=todayip+1,totalip=totalip+1";
                DBFun.ExecuteSql(strsql);
            }
        }
        string str_sql;

        str_sql = "Select TotalBrowser,TodayBrowser From T_counter";
        drw     = DBFun.GetDataRow(str_sql);
        return(drw);
    }