📄 syslogdlg.cpp
字号:
// SysLogDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Stock.h"
#include "SysLogDlg.h"
#include "COMDEF.h"
#include "Columns.h"
#include "Column.h"
#include "_recordset.h"
#include "SysLog.h"
#include "DialogResize.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSysLogDlg dialog
CSysLogDlg::CSysLogDlg(CWnd* pParent /*=NULL*/)
: CDialogResize(CSysLogDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CSysLogDlg)
// NOTE: the ClassWizard will add member initialization here
m_Date = 0;
//}}AFX_DATA_INIT
}
void CSysLogDlg::DoDataExchange(CDataExchange* pDX)
{
CDialogResize::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSysLogDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
DDX_Control(pDX, IDC_TYPE_COMBO, m_Type);
DDX_Control(pDX, IDC_ADODC1, m_adodc1);
DDX_Control(pDX, IDC_ADODC2, m_adodc2);
DDX_Control(pDX, IDC_DATACOMBO1, m_UserName);
DDX_Control(pDX, IDC_DATAGRID1, m_datagrid);
DDX_DateTimeCtrl(pDX, IDC_DATETIMEPICKER1, m_Date);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSysLogDlg, CDialogResize)
//{{AFX_MSG_MAP(CSysLogDlg)
ON_BN_CLICKED(IDC_DELBYID_BUTTON, OnDelbyidButton)
ON_BN_CLICKED(IDC_DELBYDATE_BUTTON, OnDelbydateButton)
ON_BN_CLICKED(IDC_DELALL_BUTTON, OnDelallButton)
ON_CBN_SELCHANGE(IDC_TYPE_COMBO, OnSelchangeTypeCombo)
ON_NOTIFY(DTN_DATETIMECHANGE, IDC_DATETIMEPICKER1, OnDatetimechangeDatetimepicker1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
BEGIN_DLGRESIZE_MAP(CSysLogDlg)
DLGRESIZE_CONTROL(IDC_TYPE_COMBO, DLSZ_REPAINT)
DLGRESIZE_CONTROL(IDC_DATETIMEPICKER1, DLSZ_REPAINT)
DLGRESIZE_CONTROL(IDC_DATACOMBO1, DLSZ_REPAINT)
DLGRESIZE_CONTROL(IDC_DATAGRID1, DLSZ_SIZE_X | DLSZ_SIZE_Y | DLSZ_REPAINT)
DLGRESIZE_CONTROL(IDC_DELBYID_BUTTON, DLSZ_MOVE_Y)
DLGRESIZE_CONTROL(IDC_DELBYDATE_BUTTON, DLSZ_MOVE_Y)
DLGRESIZE_CONTROL(IDC_DELALL_BUTTON, DLSZ_MOVE_X | DLSZ_MOVE_Y)
DLGRESIZE_CONTROL(IDCANCEL, DLSZ_MOVE_X | DLSZ_MOVE_Y)
END_DLGRESIZE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSysLogDlg message handlers
void CSysLogDlg::RefreshData()
{
CString cSource;
cSource = "SELECT LogId, LogDate AS 发生日期, LogTime AS 发生时间,";
cSource += " Title AS 标题, Body AS 内容, UserName AS 操作用户";
cSource += " FROM SysLog WHERE UserName collate Chinese_PRC_CS_AI_WS ='" + m_UserName.GetText() + "'";
//读取数据
UpdateData(true);
CString cIndex;
cIndex.Format("%d", m_Type.GetCurSel());
//根据类别查询
if (cIndex == "0")
;
else
cSource += " AND LogType=" + cIndex;
//根据日期查询
CString cDate;
cDate = m_Date.Format("%Y-%m-%d");
cSource += " AND LogDate='" + cDate + "'";
//设置数据源
m_adodc1.SetRecordSource(cSource);
m_adodc1.Refresh();
//设置列宽度
_variant_t vIndex;
vIndex = long(0);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(0);
vIndex = long(1);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);
vIndex = long(2);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);
vIndex = long(3);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);
vIndex = long(4);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);
vIndex = long(5);
m_datagrid.GetColumns().GetItem(vIndex).SetWidth(100);
}
BOOL CSysLogDlg::OnInitDialog()
{
CDialog::OnInitDialog();
InitResizing();
//设置类别
m_Type.SetCurSel(0);
//设置日期
m_Date = CTime::GetCurrentTime();
//设置用户
m_UserName.SetText("Admin");
UpdateData(false);
//刷新记录
RefreshData();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CSysLogDlg::OnDelbyidButton()
{
if (m_adodc1.GetRecordset().GetEof())
{
::MessageBox(NULL, TEXT("请选择要删除的记录"), TEXT("提示"), MB_OK);
return;
}
if (::MessageBox(NULL, TEXT("是否删除当前记录,请确认"), TEXT("提示"), MB_YESNO) == IDYES)
{
CSysLog log;
log.sql_deleteById(m_datagrid.GetItem(0)); //按编号删除
RefreshData(); //刷新显示
}
}
void CSysLogDlg::OnDelbydateButton()
{
if (::MessageBox(NULL, TEXT("是否删除全天记录,请确认"), TEXT("提示"), MB_YESNO) == IDYES)
{
CString cDate;
cDate = m_Date.Format("%Y-%m-%d");
CSysLog log;
log.sql_deleteByDate(cDate); //按编号删除
RefreshData(); //刷新显示
}
}
void CSysLogDlg::OnDelallButton()
{
if (::MessageBox(NULL, TEXT("是否删除全部记录,请确认"), TEXT("提示"), MB_YESNO) == IDYES)
{
CSysLog log;
log.sql_deleteAll(); //按编号删除
RefreshData(); //刷新显示
}
}
void CSysLogDlg::OnSelchangeTypeCombo()
{
RefreshData();
}
void CSysLogDlg::OnDatetimechangeDatetimepicker1(NMHDR* pNMHDR, LRESULT* pResult)
{
RefreshData();
*pResult = 0;
}
BEGIN_EVENTSINK_MAP(CSysLogDlg, CDialog)
//{{AFX_EVENTSINK_MAP(CSysLogDlg)
ON_EVENT(CSysLogDlg, IDC_DATACOMBO1, -600 /* Click */, OnClickDatacombo1, VTS_I2)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CSysLogDlg::OnClickDatacombo1(short Area)
{
RefreshData();
}
void CSysLogDlg::OnSize(UINT nType, int cx, int cy)
{
CDialogResize::OnSize(nType, cx, cy);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -