IIS日志分析辅助小工具--技术细节篇

来源:互联网 发布:飞跃淘宝数据采集软件 编辑:程序博客网 时间:2024/05/28 04:56

前阵子为了方便分析服务器IIS日志,自己用MFC写了个小工具,上篇日志算是安装篇,本篇日志着重将程序编写过程中需要注意的技术点做下总结。

先上图:


数据库设置:

在数据库中建表,我这里的数据库为LogAnalysis,表是:Log_Analysis(id,date,time,s_ip,method,uri_stem,uri_query,s_port,username,c_ip,user_agent,status,substatus,win32_status,time_token)其中id为自增1。



编程重点:

1.为了消除连接数据库、打开记录集、关闭数据库、关闭记录集搞得太过混乱的尴尬,最好在每个响应函数里成对出现打开和关闭的操作,如:

void CIIS_LogAnalysisDlg::OnShowLog() {//SqlHelper为自定义数据库操作类        SqlHelper SQL;SQL.Connect();        //在列表框中显示日志内容SQL.ShowLog(m_DataFileList);//关闭记录集和数据库SQL.CloseRecordset();SQL.DisConnect();}

2.MFC中的CListCtrl控件在显示日志时由于数据量大,会使空间界面不停闪烁直到显示完毕,解决方法如下:

        m_CListCtrl.LockWindowUpdate();//禁止窗口刷新,直到显示完毕m_CListCtrl.DeleteAllItems();  //前面已有显示内容//此处使用SetItemText()函数显示m_CListCtrl.UnlockWindowUpdate();

3.若列表框已有显示内容,显示之前要加上DeleteAllItems(),并且SetItemText()函数显示之前都要InsertItem(),否则列表由于执行了DeleteAllItems(),不能显示内容。

4.MFC中使用SQL语句进行模糊查询,若使用的关键字都是动态输入,则需要注意查询内容的形式:

strSql.Format("select * from Log_Analysis where %s like '%%%s%%' order by id asc",keyword,content);
重点部位:'%s' like '%%%s%%'   相当于 SQL语句中的:keyword like '%content%'

下载链接:http://download.csdn.net/detail/senmmy/6885385

配合使用:http://download.csdn.net/detail/senmmy/6854525









0 0
原创粉丝点击