📄 deletedlg.cpp
字号:
// DeleteDlg.cpp : implementation file
//
#include "stdafx.h"
#include "BranchManager.h"
#include "DeleteDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDeleteDlg dialog
CDeleteDlg::CDeleteDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDeleteDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDeleteDlg)
m_DeleteStatus = _T("");
m_bRecordWereDelete=FALSE;
m_DeleteID1 = _T("");
//}}AFX_DATA_INIT
}
void CDeleteDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDeleteDlg)
DDX_Control(pDX, IDC_LIST1, m_DeleteListCtrl);
DDX_Text(pDX, IDC_DELETESTATUS, m_DeleteStatus);
DDX_Text(pDX, IDC_EDIT2, m_DeleteID1);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDeleteDlg, CDialog)
//{{AFX_MSG_MAP(CDeleteDlg)
ON_NOTIFY(LVN_COLUMNCLICK, IDC_LIST1, OnColumnclickList1)
ON_BN_CLICKED(IDC_REFRESH, OnRefresh)
ON_BN_CLICKED(IDC_BUTTON1, OnDeleteID)
ON_NOTIFY(NM_DBLCLK, IDC_LIST1, OnDblclkList1)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDeleteDlg message handlers
void CDeleteDlg::OnOK()
{
CString strRecordQuery;
int nItemIndex=-1;
if((m_DeleteListCtrl.GetNextItem(-1,LVNI_SELECTED))!=-1)
{
if(AfxMessageBox("确信要删除这些记录吗?(Y/N)",MB_OKCANCEL,0)==IDCANCEL)
return;
try
{
if(!m_pBranchManagerSet.IsOpen())
m_pBranchManagerSet.Open();
while((nItemIndex=m_DeleteListCtrl.GetNextItem(nItemIndex,LVNI_SELECTED))!=-1)
{
strRecordQuery=CString(_T("ID = "))+"'"+
CString(m_DeleteListCtrl.GetItemText(nItemIndex,0))+"'";
if(m_pBranchManagerSet.FindFirst(strRecordQuery))
{
m_pBranchManagerSet.Delete();
m_pBranchManagerSet.MoveFirst();
m_bRecordWereDelete=TRUE;
m_DeleteStatus="删除记录成功";
}
else
m_DeleteStatus="数据库中没有发现该记录";
}
m_pBranchManagerSet.Close();
}
catch ( CDaoException* e )
{ // catch database exceptions
char szBuffer [ 256 ];
CString strExceptDesc =
CString ( "JET Database Engine Error:\n\n Error Code: " ) +
CString ( ltoa ( e -> m_pErrorInfo -> m_lErrorCode, szBuffer, 10 ) ) +
CString ( "\nDescription: " ) +
CString ( e -> m_pErrorInfo -> m_strDescription );
AfxMessageBox ( strExceptDesc, MB_ICONEXCLAMATION );
m_pBranchManagerSet.Close ();
return;
}
}
else
m_DeleteStatus="没有选中项目";
if(m_bRecordWereDelete==TRUE)
LoadList();
UpdateData(FALSE);
}
BOOL CDeleteDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
CenterWindow();
m_SmallList.Create(16,16,FALSE,2,0);
m_LargeList.Create(32,32,FALSE,2,0);
m_SmallList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_LargeList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
m_DeleteListCtrl.SetImageList(&m_LargeList,LVSIL_NORMAL);
m_DeleteListCtrl.SetImageList(&m_SmallList,LVSIL_SMALL);
m_DeleteListCtrl.InsertColumn(0,"ID",LVCFMT_CENTER,74);
m_DeleteListCtrl.InsertColumn(1,"Name",LVCFMT_CENTER,80);
m_DeleteListCtrl.InsertColumn(2,"Address",LVCFMT_CENTER,100);
m_DeleteListCtrl.InsertColumn(3,"Tel",LVCFMT_CENTER,70);
m_DeleteListCtrl.InsertColumn(4,"HostIp",LVCFMT_CENTER,100);
m_DeleteListCtrl.InsertColumn(5,"RouterIp",LVCFMT_CENTER,100);
m_DeleteListCtrl.InsertColumn(6,"ATMIp",LVCFMT_CENTER,100);
//ShowWindow(SW_SHOW);
LoadList();
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDeleteDlg::LoadList()
{
//char szBuffer[256];
m_DeleteListCtrl.DeleteAllItems();
try
{
if(!m_pBranchManagerSet.IsOpen())
m_pBranchManagerSet.Open();
for(int nListEntry=0;!m_pBranchManagerSet.IsEOF();nListEntry++)
{
m_DeleteListCtrl.InsertItem(nListEntry,LPCTSTR(m_pBranchManagerSet.m_ID),
0);
m_DeleteListCtrl.SetItemText(nListEntry,1,LPCTSTR(m_pBranchManagerSet.m_Name));
m_DeleteListCtrl.SetItemText(nListEntry,2,LPCTSTR(m_pBranchManagerSet.m_Address));
m_DeleteListCtrl.SetItemText(nListEntry,3,LPCTSTR(m_pBranchManagerSet.m_Tel));
m_DeleteListCtrl.SetItemText(nListEntry,4,LPCTSTR(m_pBranchManagerSet.m_HostIp));
m_DeleteListCtrl.SetItemText(nListEntry,5,LPCTSTR(m_pBranchManagerSet.m_RouterIp));
m_DeleteListCtrl.SetItemText(nListEntry,6,LPCTSTR(m_pBranchManagerSet.m_AtmIp));
m_pBranchManagerSet.MoveNext();
}
m_pBranchManagerSet.Close();
} catch(CDaoException* e)
{
char szBuffer [ 256 ];
CString strExceptDesc =
CString ( "JET Database Engine Error:\n\n Error Code: " ) +
CString ( ltoa ( e -> m_pErrorInfo -> m_lErrorCode, szBuffer, 10 ) ) +
CString ( "\nDescription: " ) +
CString ( e -> m_pErrorInfo -> m_strDescription );
AfxMessageBox ( strExceptDesc, MB_ICONEXCLAMATION );
m_pBranchManagerSet.Close ();
return;
}
return;
}
void CDeleteDlg::OnColumnclickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
switch(pNMListView->iSubItem)
{
case 0:
LoadSortList(CString("[ID]"));
break;
case 1:
LoadSortList(CString("[Name]"));
break;
case 2:
LoadSortList(CString("[Address]"));
break;
case 3:
LoadSortList(CString("[Tel]"));
break;
case 4:
LoadSortList(CString("[HostIp]"));
break;
case 5:
LoadSortList(CString("[RouterIp]"));
break;
case 6:
LoadSortList(CString("[ATMIp]"));
break;
}
*pResult = 0;
}
void CDeleteDlg::LoadSortList(CString &strSortBy)
{
m_DeleteListCtrl.DeleteAllItems();
m_pBranchManagerSet.m_strSort=strSortBy;
LoadList();
SetDlgItemText(IDC_DELETESTATUS,"");
return;
}
void CDeleteDlg::OnRefresh()
{
LoadList();
}
void CDeleteDlg::OnDeleteID()
{
UpdateData(TRUE);
if(!m_pBranchManagerSet.IsOpen())
m_pBranchManagerSet.Open();
CString str;
if(m_DeleteID1=="")
return;
else
{
try
{
str=CString(_T("ID = "))+"'"+m_DeleteID1+"'";
if(!m_pBranchManagerSet.FindFirst(str))
{
m_DeleteStatus="数据库中没有发现该记录";
UpdateData(FALSE);
}
else
{
m_pBranchManagerSet.Delete();
m_pBranchManagerSet.MoveFirst();
LoadList();
m_pBranchManagerSet.Close();
m_DeleteStatus="删除记录成功";
UpdateData(FALSE);
}
}
catch(CDaoException* e)
{
char szBuffer [ 256 ];
CString strExceptDesc =
CString ( "JET Database Engine Error:\n\n Error Code: " ) +
CString ( ltoa ( e -> m_pErrorInfo -> m_lErrorCode, szBuffer, 10 ) ) +
CString ( "\nDescription: " ) +
CString ( e -> m_pErrorInfo -> m_strDescription );
AfxMessageBox ( strExceptDesc, MB_ICONEXCLAMATION );
m_pBranchManagerSet.Close ();
return;
}
return;
}
}
void CDeleteDlg::OnDblclkList1(NMHDR* pNMHDR, LRESULT* pResult)
{
//CString pszString;
//int nSelected=m_DeleteListCtrl.GetNextItem(-1,LVNI_SELECTED);
//if(nSelected=-1)
// return;
//else
//{
// pszString=CString(_T("ID = "))+"'"+
// CString(m_DeleteListCtrl.GetItemText(nSelected,0))+"'";
// if(!m_pBranchManagerSet.IsOpen())
// m_pBranchManagerSet.Open();
// m_pBranchManagerSet.FindFirst(pszString);
// m_pBranchManagerSet.Delete();
// LoadList();
// m_pBranchManagerSet.Close();
// m_DeleteStatus="删除记录成功";
// UpdateData(FALSE);
//}
OnOK();
*pResult = 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -