www.pudn.com > 200518174534292.rar > DlgLogin.cpp


// DlgLogin.cpp : implementation file 
// 
 
#include "stdafx.h" 
#include "ParkSys.h" 
#include "DlgLogin.h" 
#include "Operater.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
///////////////////////////////////////////////////////////////////////////// 
// CDlgLogin dialog 
 
 
CDlgLogin::CDlgLogin(CWnd* pParent /*=NULL*/) 
	: CDialog(CDlgLogin::IDD, pParent) 
{ 
	LoginCount = 0; 
	//{{AFX_DATA_INIT(CDlgLogin) 
	m_Name = _T(""); 
	m_Password = _T(""); 
	//}}AFX_DATA_INIT 
} 
 
 
void CDlgLogin::DoDataExchange(CDataExchange* pDX) 
{ 
	CDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CDlgLogin) 
	DDX_Text(pDX, IDC_LOGINNAME, m_Name); 
	DDX_Text(pDX, IDC_LOGINPASSWORD, m_Password); 
	//}}AFX_DATA_MAP 
} 
 
 
BEGIN_MESSAGE_MAP(CDlgLogin, CDialog) 
	//{{AFX_MSG_MAP(CDlgLogin) 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
///////////////////////////////////////////////////////////////////////////// 
// CDlgLogin message handlers 
 
void CDlgLogin::OnOK()  
{ 
 
	UpdateData(TRUE); 
 
	CParkSysApp *app = (CParkSysApp *)AfxGetApp(); 
	COperater rs_Operater( &app->database ); 
	rs_Operater.m_strFilter = "OPERATER='" + m_Name + "'"; 
	rs_Operater.Open(); 
	TRY 
	{ 
		int i = rs_Operater.GetRecordCount(); 
		if (i==0) 
		{ 
			if(LoginCount<=2) 
			{ 
				MessageBox("非法用户","登录",MB_OK+MB_ICONWARNING); 
				LoginCount+=1; 
			} 
			else  
				CDialog::OnCancel(); 
		} 
		else if(!(rs_Operater.m_PASSWORD == m_Password)) 
		{ 
			if (LoginCount<=2) 
			{ 
				MessageBox("密码错误,请从新输入","登录",MB_OK+MB_ICONWARNING); 
				LoginCount += 1; 
				m_Password = _T(""); 
				UpdateData(FALSE); 
				CWnd* pWnd = GetDlgItem(IDC_LOGINPASSWORD); 
				pWnd->SetFocus(); 
 
			} 
			else 
			{ 
				MessageBox("密码错误,系统退出","登录",MB_OK | MB_ICONWARNING); 
				CDialog::OnCancel(); 
			} 
		} 
		else 
		{ 
			CDialog::OnOK(); 
		} 
	} 
	CATCH(CDBException, e) 
	{ 
		MessageBox("系统退出","登录",MB_OK | MB_ICONWARNING); 
		CDialog::OnCancel(); 
	} 
	END_CATCH 
	rs_Operater.Close(); 
	 
} 
 
void CDlgLogin::OnCancel()  
{ 
	 
	CDialog::OnCancel(); 
} 
 
BOOL CDlgLogin::OnInitDialog()  
{ 
	CDialog::OnInitDialog(); 
	 
	return TRUE;  // return TRUE unless you set the focus to a control 
	              // EXCEPTION: OCX Property Pages should return FALSE 
}