DlgLogin.cpp
上传用户:trilite
上传日期:2007-04-24
资源大小:261k
文件大小:2k
源码类别:

酒店行业

开发平台:

Visual C++

  1. // DlgLogin.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "ParkSys.h"
  5. #include "DlgLogin.h"
  6. #include "Operater.h"
  7. #ifdef _DEBUG
  8. #define new DEBUG_NEW
  9. #undef THIS_FILE
  10. static char THIS_FILE[] = __FILE__;
  11. #endif
  12. /////////////////////////////////////////////////////////////////////////////
  13. // CDlgLogin dialog
  14. CDlgLogin::CDlgLogin(CWnd* pParent /*=NULL*/)
  15. : CDialog(CDlgLogin::IDD, pParent)
  16. {
  17. LoginCount = 0;
  18. //{{AFX_DATA_INIT(CDlgLogin)
  19. m_Name = _T("");
  20. m_Password = _T("");
  21. //}}AFX_DATA_INIT
  22. }
  23. void CDlgLogin::DoDataExchange(CDataExchange* pDX)
  24. {
  25. CDialog::DoDataExchange(pDX);
  26. //{{AFX_DATA_MAP(CDlgLogin)
  27. DDX_Text(pDX, IDC_LOGINNAME, m_Name);
  28. DDX_Text(pDX, IDC_LOGINPASSWORD, m_Password);
  29. //}}AFX_DATA_MAP
  30. }
  31. BEGIN_MESSAGE_MAP(CDlgLogin, CDialog)
  32. //{{AFX_MSG_MAP(CDlgLogin)
  33. //}}AFX_MSG_MAP
  34. END_MESSAGE_MAP()
  35. /////////////////////////////////////////////////////////////////////////////
  36. // CDlgLogin message handlers
  37. void CDlgLogin::OnOK() 
  38. {
  39. UpdateData(TRUE);
  40. CParkSysApp *app = (CParkSysApp *)AfxGetApp();
  41. COperater rs_Operater( &app->database );
  42. rs_Operater.m_strFilter = "OPERATER='" + m_Name + "'";
  43. rs_Operater.Open();
  44. TRY
  45. {
  46. int i = rs_Operater.GetRecordCount();
  47. if (i==0)
  48. {
  49. if(LoginCount<=2)
  50. {
  51. MessageBox("非法用户","登录",MB_OK+MB_ICONWARNING);
  52. LoginCount+=1;
  53. }
  54. else 
  55. CDialog::OnCancel();
  56. }
  57. else if(!(rs_Operater.m_PASSWORD == m_Password))
  58. {
  59. if (LoginCount<=2)
  60. {
  61. MessageBox("密码错误,请从新输入","登录",MB_OK+MB_ICONWARNING);
  62. LoginCount += 1;
  63. m_Password = _T("");
  64. UpdateData(FALSE);
  65. CWnd* pWnd = GetDlgItem(IDC_LOGINPASSWORD);
  66. pWnd->SetFocus();
  67. }
  68. else
  69. {
  70. MessageBox("密码错误,系统退出","登录",MB_OK | MB_ICONWARNING);
  71. CDialog::OnCancel();
  72. }
  73. }
  74. else
  75. {
  76. CDialog::OnOK();
  77. }
  78. }
  79. CATCH(CDBException, e)
  80. {
  81. MessageBox("系统退出","登录",MB_OK | MB_ICONWARNING);
  82. CDialog::OnCancel();
  83. }
  84. END_CATCH
  85. rs_Operater.Close();
  86. }
  87. void CDlgLogin::OnCancel() 
  88. {
  89. CDialog::OnCancel();
  90. }
  91. BOOL CDlgLogin::OnInitDialog() 
  92. {
  93. CDialog::OnInitDialog();
  94. return TRUE;  // return TRUE unless you set the focus to a control
  95.               // EXCEPTION: OCX Property Pages should return FALSE
  96. }