Beispiel #1
0
        public override Dictionary <uint, CLogMsg_WuQi> SynchronousDB()
        {
            if (null == this.str_conn)
            {
                return(null);
            }

            Dictionary <uint, CLogMsg_WuQi> dict = new Dictionary <uint, CLogMsg_WuQi>();

            System.Data.SqlClient.SqlConnection conn   = null;
            System.Data.SqlClient.SqlDataReader reader = null;

            try
            {
//                 lock (this)
                {
                    uint ui_guid = 0;
                    conn = new System.Data.SqlClient.SqlConnection(this.str_conn);
                    conn.Open();
                    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand("SELECT * FROM logmsginfo", conn);
                    reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        ui_guid = uint.Parse(reader["msgid"].ToString());
                        uint         id      = ui_guid;
                        string       smark   = reader["msgmark"].ToString();
                        string       stype   = reader["msgtype"].ToString();
                        string       smsg    = reader["logmsg"].ToString();
                        string       sowner  = reader["msgowner"].ToString();
                        string       logtime = reader["msgtime"].ToString();
                        CLogMsg_WuQi record  = CLogMsgFactory.CreateMsg(id, smark, stype, smsg, sowner, DateTime.Parse(logtime));
                        dict.Add(id, record);
                    }
                }
            }
            catch (System.Exception e)
            {
                throw e;
            }
            finally
            {
                if (null != reader)
                {
                    reader.Close();
                }
                if (null != conn)
                {
                    conn.Close();
                }
            }
            return(dict);
        }
        public void TriggerLogMsg(string smsg, string stype, string sowner)
        {
            //原来的设计思路涉及到两次查询,大大降低了性能.
            //不得不重新考虑设计。浪费了大量的时间!所以前期系统分析一定要做细!
            //
            if ((CLog_WuQi.logstate_now & CLog_WuQi.logstate_all) == LOGSTATE.LogDebug)
            {
                Hashtable al = new Hashtable();
                al.Add("msg", smsg);
                al.Add("owner", sowner);
                List <CLogMark_WuQi> marks = Search(2, al);

                CLogMark_WuQi mark = null;
                CLogMsg_WuQi  msg  = null;
                if (0 == marks.Count)
                {
                    mark = CLogMark_WuQi.GetNewMark(smsg, sowner, 1, DateTime.Now);
                    if (null != mark)
                    {
                        msg = CLogMsgFactory.CreateMsg(stype, smsg, sowner, mark.GetMyGuid().ToString());
                        logmsgcontainer.InsertMsg(msg);
                        Insert(mark.GetMyGuid(), mark);
                    }
                }
                else
                {
                    foreach (CLogMark_WuQi markitem in marks)
                    {
                        if (0 != markitem.IsOpen)
                        {
                            msg = CLogMsgFactory.CreateMsg(stype, smsg, sowner, markitem.GetMyGuid().ToString());
                            logmsgcontainer.InsertMsg(msg);
                        }
                    }
                }
            }
            else if ((CLog_WuQi.logstate_now & CLog_WuQi.logstate_all) == LOGSTATE.LogRun)
            {
                CLogMsg_WuQi msg = CLogMsgFactory.CreateMsg(stype, smsg, sowner, "0");
                logmsgcontainer.InsertMsg(msg);
            }
        }
Beispiel #3
0
        protected override List <CLogMsg_WuQi> SearchDB(int adapter, Hashtable paraset)
        {
            if (null == this.str_conn)
            {
                return(null);
            }

            List <CLogMsg_WuQi> dict = new List <CLogMsg_WuQi>();

            System.Data.SqlClient.SqlConnection conn   = null;
            System.Data.SqlClient.SqlDataReader reader = null;

            try
            {
//                 lock (this)
                {
                    uint ui_guid = 0;
                    conn = new System.Data.SqlClient.SqlConnection(this.str_conn);
                    conn.Open();
                    System.Data.SqlClient.SqlCommand cmd = null;
                    //根据不同查询条件搜索数据库
                    if (0 == adapter)
                    {
                        cmd = new System.Data.SqlClient.SqlCommand("SELECT * FROM logmsginfo", conn);
                    }
                    else if (1 == adapter)
                    {
                        cmd = new System.Data.SqlClient.SqlCommand("SELECT * FROM logmsginfo where msgowner =@owner", conn);
                        cmd.Parameters.AddWithValue("@owner", (string)paraset["owner"]);
                    }

                    reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        ui_guid = uint.Parse(reader["msgid"].ToString());
                        uint         id      = ui_guid;
                        string       smark   = reader["msgmark"].ToString();
                        string       stype   = reader["msgtype"].ToString();
                        string       smsg    = reader["logmsg"].ToString();
                        string       sowner  = reader["msgowner"].ToString();
                        string       logtime = reader["msgtime"].ToString();
                        CLogMsg_WuQi record  = CLogMsgFactory.CreateMsg(id, smark, stype, smsg, sowner, DateTime.Parse(logtime));
                        dict.Add(record);
                    }
                }
            }
            catch (System.Exception e)
            {
                throw e;
            }
            finally
            {
                if (null != reader)
                {
                    reader.Close();
                }
                if (null != conn)
                {
                    conn.Close();
                }
            }
            return(dict);
        }