⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 新建 文本文档 (3).txt

📁 基本上实现了一个在线统计的功能
💻 TXT
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using BankInnerMag.IDBALayer.VisitCount;
using BankInnerMag.DataModel.VisitCount;

namespace BankInnerMag.SqlServerDBALayer.VisitCount
{
    public class VisitCountSet : IVisitCount
    {
        string SqlConnString;//定义连接字符串
        public VisitCountSet()
        {
            SqlConnString = DBDealHelp.SqlHelper.ConnectionStringLocalTransaction;//获取字符串值
            SqlConnection SqlConn;//定义数据库连接对象;
            SqlConn = new SqlConnection(SqlConnString);//实例化数据库连接对象;
        }
        /// <summary>
        /// 增加站点对象的访问统计
        /// </summary>
        /// <param name="ObjID">站点对象ID</param>
        /// <returns>操作是否成功</returns>
        public Boolean AddSiteVisit(int ObjID)
        {
            return AddVisitCount(ObjID, 0);
        }
        /// <summary>
        /// 增加栏目对象的访问统计
        /// </summary>
        /// <param name="ObjID">栏目对象ID</param>
        /// <returns>操作是否成功</returns>
        public Boolean AddItemVisit(int ObjID)
        {
            return AddVisitCount(ObjID, 1);
        }
        /// <summary>
        /// 增加信息对象的访问统计
        /// </summary>
        /// <param name="ObjID">信息对象ID</param>
        /// <param name="Ctrtype">操作类型</param>
        /// <returns>操作是否成功</returns>
        public Boolean AddInfoVisit(int ObjID)
        {
            return AddVisitCount(ObjID, 2);
        }
        /// <summary>
        /// 增加文件对象的访问统计
        /// </summary>
        /// <param name="ObjID">文件对象ID</param>
        /// <returns>操作是否成功</returns>
        public Boolean AddFileVisit(int ObjID)
        {
            return AddVisitCount(ObjID, 3);
        }
        /// <summary>
        /// 增加访问统计
        /// </summary>
        /// <param name="ObjID">对象ID</param>
        /// <param name="Objtype">对象类别</param>
        /// <returns></returns>
        private Boolean AddVisitCount(int ObjID, int Objtype)
        {
            bool IsSuccess = false;//定义返回值变量
            //定义参数SqlParameter列表并赋值
            SqlParameter[] InsParm = new SqlParameter[3];
            int val;//定义获取返回值的变量
            InsParm[0] = new SqlParameter("@vistobj_id", SqlDbType.Int);
            InsParm[1] = new SqlParameter("@vistobj_type", SqlDbType.Int);
            InsParm[2] = new SqlParameter("@type", SqlDbType.Int);
            InsParm[0].SqlValue = ObjID;
            InsParm[1].SqlValue = Objtype;
            InsParm[2].SqlValue = 0;
            InsParm[0].Direction = ParameterDirection.Input;
            InsParm[1].Direction = ParameterDirection.Input;
            InsParm[2].Direction = ParameterDirection.Input;
            //调用函数执行数据库操作
            val = (int)DBDealHelp.SqlHelper.ExecuteScalar(SqlConnString, CommandType.StoredProcedure, "p_ab_VisitCount", InsParm);
            if (val > 0)
            {
                IsSuccess = true;
            }
            return IsSuccess;
        }
        /// <summary>
        /// 返回访问统计列表
        /// </summary>
        /// <returns>访问统计信息对象</returns>
        public List<VisitInfo> GetLIstByParams(int type)
        {
            //定义参数SqlParameter列表并赋值
            SqlParameter[] SelParm = new SqlParameter[3];
            SqlDataReader reader;//定义读取器
            List<VisitInfo> VisitInfoList = new List<VisitInfo>();
            SelParm[0] = new SqlParameter("@vistobj_id", SqlDbType.Int);
            SelParm[1] = new SqlParameter("@vistobj_type", SqlDbType.Int);
            SelParm[2] = new SqlParameter("@type", SqlDbType.Int);
            SelParm[0].SqlValue = -1;
            SelParm[1].SqlValue = type;
            SelParm[2].SqlValue = 1;
            SelParm[0].Direction = ParameterDirection.Input;
            SelParm[1].Direction = ParameterDirection.Input;
            SelParm[2].Direction = ParameterDirection.Input;

            reader = DBDealHelp.SqlHelper.ExecuteReader(SqlConnString, CommandType.StoredProcedure, "p_ab_VisitCount", SelParm);
            while (reader.Read())//循环读取查询所得值
            {
                VisitInfo visitinfo = new VisitInfo();
                visitinfo.ID = Convert.ToInt32(reader[0].ToString());
                visitinfo.Vistobj_id = Convert.ToInt32(reader[1].ToString());
                visitinfo.Name = reader[4].ToString();
                visitinfo.Vistcount = Convert.ToInt32(reader[2].ToString());
                visitinfo.Vistobj_type = Convert.ToInt32(reader[3].ToString());
                VisitInfoList.Add(visitinfo);
            }
            reader.Close();//关闭读取器
            return VisitInfoList;
        }

        public int GetItemCount(int id, int type)
        {
            bool IsSuccess = false;//定义返回值变量
            //定义参数SqlParameter列表并赋值
            SqlParameter[] InsParm = new SqlParameter[2];
            int val;//定义获取返回值的变量
            InsParm[0] = new SqlParameter("@type", SqlDbType.Int);
            InsParm[1] = new SqlParameter("@itemid", SqlDbType.Int);

            InsParm[0].SqlValue = type;
            InsParm[1].SqlValue = id;
           
            InsParm[0].Direction = ParameterDirection.Input;
            InsParm[1].Direction = ParameterDirection.Input;
            
            //调用函数执行数据库操作
            val = (int)DBDealHelp.SqlHelper.ExecuteScalar(SqlConnString, CommandType.StoredProcedure, "p_ab_GetItemCount", InsParm);
            
            return val;
        }

        public VisitInfo Getinfocount(int id)
        {
            string str = DBDealHelp.SqlHelper.ConnectionStringLocalTransaction;
            string sql = " select * from VistCount_o_VistInfo v "+
                " inner join InfoPublish_o_InfoContent o on v.VistObj_ID=o.Id where VistObj_Type=2 and VistObj_ID='" + Convert.ToString(id) + "'";

            SqlDataReader Read =
                DBDealHelp.SqlHelper.ExecuteReader(str, CommandType.Text, sql, null);

            if (Read.Read())
            {
                VisitInfo visitinfo = new VisitInfo(Convert.ToInt32(Read["Id"].ToString()), id, Read["InfoContent_Caption"].ToString(),
                    Convert.ToInt32(Read["VistCount"].ToString()), Convert.ToInt32(Read["VistObj_Type"].ToString()));
                return visitinfo;
            }
            else
            {
                return null;
            }
            Read.Close();   
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -