📄 brow.cpp
字号:
{ m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open("SELECT * FROM ids",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
m_bSuccess = TRUE;
while(!m_pRecordset->rsEOF)
{
vEventCode = m_pRecordset->GetCollect("EventCode");
vEventName = m_pRecordset->GetCollect("EventName");
vEventProtocol = m_pRecordset->GetCollect("EventProtocol");
vEventDefinition = m_pRecordset->GetCollect("EventDefinition");
vEventDescription = m_pRecordset->GetCollect("EventDescription");
vAlertType = m_pRecordset->GetCollect("AlertType");
vEventLevel = m_pRecordset->GetCollect("EventLevel");
nItem=m_ListCtrl.InsertItem(0xffff,(_bstr_t)vEventCode);
m_ListCtrl.SetItem(nItem,1,1,(_bstr_t)vEventName,NULL,0,0,0);
m_ListCtrl.SetItem(nItem,2,1,(_bstr_t)vEventProtocol,NULL,0,0,0);
m_ListCtrl.SetItem(nItem,3,1,(_bstr_t)vEventDefinition,NULL,0,0,0);
m_ListCtrl.SetItem(nItem,4,1,(_bstr_t)vEventDescription,NULL,0,0,0);
m_ListCtrl.SetItem(nItem,5,1,(_bstr_t)vAlertType,NULL,0,0,0);
m_ListCtrl.SetItem(nItem,6,1,(_bstr_t)vEventLevel,NULL,0,0,0);
m_pRecordset->MoveNext();
}
}
catch(_com_error e)///捕捉异常
{
AfxMessageBox("读取数据库失败!");///显示错误信息
}
*/
/*LONG lStyle = m_ListCtrl.SendMessage
(LVM_GETEXTENDEDLISTVIEWSTYLE);
lStyle |= LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |
LVS_EX_HEADERDRAGDROP;
m_ListCtrl.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0,
(LPARAM)lStyle);
LV_COLUMN lvc;
lvc.mask = LVCF_TEXT | LVCF_SUBITEM | LVCF_WIDTH /*| LVCF_FMT*/;
/*lvc.iSubItem = 0;
lvc.pszText = (char *)"事件代码";
lvc.cx = 80;
m_ListCtrl.InsertColumn(0,&lvc);
lvc.iSubItem = 1;
lvc.pszText = (char *)"事件名称";
lvc.cx = 80;
m_ListCtrl.InsertColumn(1,&lvc);
lvc.iSubItem = 2;
lvc.pszText = (char *)"事件协议";
lvc.cx = 80;
m_ListCtrl.InsertColumn(2,&lvc);
lvc.iSubItem = 3;
lvc.pszText = (char *)"事件描述";
lvc.cx =80;
m_ListCtrl.InsertColumn(3,&lvc);
lvc.iSubItem = 4;
lvc.pszText = (char *)"事件说明";
lvc.cx = 80;
m_ListCtrl.InsertColumn(4,&lvc);
lvc.iSubItem = 5;
lvc.pszText = (char *)"响应方式";
lvc.cx = 80;
m_ListCtrl.InsertColumn(5,&lvc);
lvc.iSubItem = 6;
lvc.pszText = (char *)"入侵级别";
lvc.cx = 80;
m_ListCtrl.InsertColumn(6,&lvc);*/
/* m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES);
//m_ListCtrl.SetBkColor(RGB(0,255,255));
m_ListCtrl.SetTextColor(RGB(0,0,255));
return TRUE; */ // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
// 使用ADO创建数据库记录集
m_pRecordset.CreateInstance(__uuidof(Recordset));
try
{
m_pRecordset->Open("SELECT * FROM ids",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
return TRUE;
}
void CBrow::OnIdsrule()
{
// TODO: Add your command handler code here
}
//DEL void CBrow::SaveData()
//DEL {
//DEL /* if(!m_pRecordset->rsEOF && m_nCurrentSel >= 0 && m_bAutoSave)
//DEL {
//DEL vEventCode =m_code;
//DEL vEventName = m_name;
//DEL vEventProtocol=m_protocol;
//DEL vEventDefinition=m_definition;
//DEL vEventDescription=m_description;
//DEL vAlertType=m_alert;
//DEL vEventLevel=m_level;
//DEL m_pRecordset->PutCollect("EventCode",vEventCode);
//DEL m_pRecordset->PutCollect("EventName",vEventName);
//DEL m_pRecordset->PutCollect("EventProtocol",vEventProtocol);
//DEL m_pRecordset->PutCollect("EventDefinition",vEventDefinition);
//DEL m_pRecordset->PutCollect("EventDescription",vEventDescription);
//DEL m_pRecordset->PutCollect("AlertType",vAlertType);
//DEL m_pRecordset->PutCollect("EventLevel",vEventLevel);
//DEL m_ListCtrl.SetItem(m_nCurrentSel,0,LVIF_TEXT,(_bstr_t)vEventCode,NULL,0,0,0);
//DEL m_ListCtrl.SetItem(m_nCurrentSel,1,LVIF_TEXT,(_bstr_t)vEventName,NULL,0,0,0);
//DEL m_ListCtrl.SetItem(m_nCurrentSel,2,LVIF_TEXT,(_bstr_t)vEventProtocol,NULL,0,0,0);
//DEL m_ListCtrl.SetItem(m_nCurrentSel,3,LVIF_TEXT,(_bstr_t)vEventDefinition,NULL,0,0,0);
//DEL m_ListCtrl.SetItem(m_nCurrentSel,4,LVIF_TEXT,(_bstr_t)vEventDescription,NULL,0,0,0);
//DEL m_ListCtrl.SetItem(m_nCurrentSel,5,LVIF_TEXT,(_bstr_t)vAlertType,NULL,0,0,0);
//DEL m_ListCtrl.SetItem(m_nCurrentSel,6,LVIF_TEXT,(_bstr_t)vEventLevel,NULL,0,0,0);
//DEL }*/
//DEL }
//DEL void CBrow::LoadData()
//DEL { /* m_pRecordset->Move(m_nCurrentSel,_variant_t((long)adBookmarkFirst));
//DEL vEventCode = m_pRecordset->GetCollect("EventCode");
//DEL vEventName = m_pRecordset->GetCollect("EventName");
//DEL vEventProtocol=m_pRecordset->GetCollect("EventProtocol");
//DEL vEventDefinition=m_pRecordset->GetCollect("EventDefinition");
//DEL vEventDescription = m_pRecordset->GetCollect("EventDescription");
//DEL vAlertType = m_pRecordset->GetCollect("AlertType");
//DEL vEventLevel = m_pRecordset->GetCollect("EventLevel");
//DEL m_code =(LPCTSTR)(_bstr_t) vEventCode;
//DEL m_name =(LPCTSTR)(_bstr_t) vEventName;
//DEL m_protocol =(LPCTSTR)(_bstr_t) vEventProtocol;
//DEL m_definition =(LPCTSTR)(_bstr_t) vEventDefinition;
//DEL m_description =(LPCTSTR)(_bstr_t) vEventDescription;
//DEL m_alert =(LPCTSTR)(_bstr_t) vAlertType;
//DEL m_level =(LPCTSTR)(_bstr_t) vEventLevel;
//DEL
//DEL UpdateData(FALSE);
//DEL */
//DEL }
void CBrow::OnButtonRead()
{
// TODO: Add your control notification handler code here
_variant_t var;
CString code,name,protocol,definition,description,alert,level;
// 清空列表框
m_AccessList.ResetContent();
code=name=protocol=definition=description=alert=level="";
try
{
if(!m_pRecordset->BOF)
m_pRecordset->MoveFirst();
else
{
AfxMessageBox("记录为空!");
return;
}
// 读入库中各字段并加入列表框中
while(!m_pRecordset->rsEOF)
{
var = m_pRecordset->GetCollect("EventCode");
if(var.vt != VT_NULL)
code = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("EventName");
if(var.vt != VT_NULL)
name = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("EventProtocol");
if(var.vt != VT_NULL)
protocol = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("EventDefinition");
if(var.vt != VT_NULL)
definition = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("EventDescription");
if(var.vt != VT_NULL)
description = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("AlertType");
if(var.vt != VT_NULL)
alert= (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("EventLevel");
if(var.vt != VT_NULL)
level= (LPCSTR)_bstr_t(var);
m_AccessList.AddString( code + " --> "+name+"-->"+protocol+"-->"+definition+"-->"+description+"-->"+alert+"-->"+level );
m_pRecordset->MoveNext();
}
// 默认列表指向第一项,同时移动记录指针并显示
m_AccessList.SetCurSel(0);
OnSelchangeList();
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
BOOL CBrow::DestroyWindow()
{
// TODO: Add your specialized code here and/or call the base class
m_pRecordset->Close();
m_pRecordset = NULL;
return CDialog::DestroyWindow();
}
void CBrow::OnSelchangeList()
{
// TODO: Add your control notification handler code here
int curSel = m_AccessList.GetCurSel();
_variant_t var,varIndex;
if(curSel < 0)
return;
try
{
// 先将指针移向第一条记录,然后就可以相对第一条记录来随意移动记录指针
m_pRecordset->MoveFirst();
m_pRecordset->Move(long(curSel));
var = m_pRecordset->GetCollect("EventCode");
if(var.vt != VT_NULL)
m_code = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("EventName");
if(var.vt != VT_NULL)
m_name = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("EventProtocol");
if(var.vt != VT_NULL)
m_protocol = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("EventDefinition");
if(var.vt != VT_NULL)
m_definition = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("EventDescription");
if(var.vt != VT_NULL)
m_description= (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("AlertType");
if(var.vt != VT_NULL)
m_alert = (LPCSTR)_bstr_t(var);
var = m_pRecordset->GetCollect("EventLevel");
if(var.vt != VT_NULL)
m_level = (LPCSTR)_bstr_t(var);
UpdateData(false);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -