EmployerInfoLookup.cpp
上传用户:sunh8215
上传日期:2010-02-13
资源大小:1616k
文件大小:3k
源码类别:

酒店行业

开发平台:

Visual C++

  1. // EmployerInfoLookup.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "qq.h"
  5. #include "EmployerInfoLookup.h"
  6. #ifdef _DEBUG
  7. #define new DEBUG_NEW
  8. #undef THIS_FILE
  9. static char THIS_FILE[] = __FILE__;
  10. #endif
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CEmployerInfoLookup dialog
  13. CString CEmployerInfoLookup::STRINGS[100]={""};
  14. CEmployerInfoLookup::CEmployerInfoLookup(CWnd* pParent /*=NULL*/)
  15. : CDialog(CEmployerInfoLookup::IDD, pParent)
  16. {
  17. //{{AFX_DATA_INIT(CEmployerInfoLookup)
  18. // NOTE: the ClassWizard will add member initialization here
  19. //}}AFX_DATA_INIT
  20. EmployerCode = _T("");
  21. Name = _T("");
  22. Depart = _T("");
  23. bSuccess=false;
  24. }
  25. void CEmployerInfoLookup::DoDataExchange(CDataExchange* pDX)
  26. {
  27. CDialog::DoDataExchange(pDX);
  28. //{{AFX_DATA_MAP(CEmployerInfoLookup)
  29. DDX_Control(pDX, IDC_COMBO1, m_InfoLookup_EmployerCode);
  30. //}}AFX_DATA_MAP
  31. }
  32. BEGIN_MESSAGE_MAP(CEmployerInfoLookup, CDialog)
  33. //{{AFX_MSG_MAP(CEmployerInfoLookup)
  34. //}}AFX_MSG_MAP
  35. END_MESSAGE_MAP()
  36. /////////////////////////////////////////////////////////////////////////////
  37. // CEmployerInfoLookup message handlers
  38. BOOL CEmployerInfoLookup::OnInitDialog() 
  39. {
  40. CDialog::OnInitDialog();
  41. HICON m_hIcon=AfxGetApp()->LoadIcon(IDR_MAINFRAME2);
  42. this->SetIcon(m_hIcon,true);//设置对话框图标
  43. // TODO: Add extra initialization here
  44. m_acCombo.Init(GetDlgItem(IDC_COMBO1));
  45. if(!m_EmployerInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE))
  46. {
  47. MessageBox("打开数据库失败!","数据库错误",MB_OK);
  48. return false;
  49. }
  50. InitDate();//初始化数组成员
  51. m_EmployerInfoSet.MoveFirst();//move to the first record
  52. int i=0;
  53.     while(!m_EmployerInfoSet.IsEOF())
  54. {
  55.         STRINGS[i]=m_EmployerInfoSet.m_EmployerCode.GetBuffer(m_EmployerInfoSet.m_EmployerCode.GetLength());
  56.          m_EmployerInfoSet.MoveNext();
  57.  i++;
  58. }
  59.     m_EmployerInfoSet.Close();//关闭数据库
  60.     for (int j=0;(!STRINGS[j].IsEmpty()); j++)
  61. {
  62.    m_acCombo.GetStringList().Add(STRINGS[j].GetBuffer(STRINGS[j].GetLength()));
  63. }
  64. return TRUE;  // return TRUE unless you set the focus to a control
  65.               // EXCEPTION: OCX Property Pages should return FALSE
  66. }
  67. void CEmployerInfoLookup::OnOK() 
  68. {
  69. // TODO: Add extra validation here
  70. CString str;
  71. m_InfoLookup_EmployerCode.GetWindowText(str);
  72.     if(str=="")
  73. {
  74. MessageBox("请输入职员代号!","数据为空错误",MB_OK);
  75. return ;
  76. }
  77. if(!m_EmployerInfoSet.Open(AFX_DB_USE_DEFAULT_TYPE))
  78. {
  79. AfxMessageBox("查询数据库失败或者数据库没有连接!");
  80. bSuccess=false;
  81. return ;
  82. }
  83. bool bInSQL=false;//是否存在这个数据记录
  84. m_EmployerInfoSet.MoveFirst();
  85. while(!m_EmployerInfoSet.IsEOF())
  86. {
  87.          if(m_EmployerInfoSet.m_EmployerCode==str)
  88.  {
  89.  bInSQL=true;
  90.  break;
  91.  }
  92.  else bInSQL=false;
  93.          m_EmployerInfoSet.MoveNext();
  94. }
  95. ///////////////////////////////////////////////////////////
  96. // 查询成功的话保存得到的数据
  97.  if(bInSQL)
  98.  {
  99. Depart=m_EmployerInfoSet.m_Depart;
  100. EmployerCode=m_EmployerInfoSet.m_EmployerCode;
  101.     Name=m_EmployerInfoSet.m_Name;
  102. bSuccess=true;
  103.  }
  104.  else
  105.  {
  106.  MessageBox("该记录不存在!","记录错误",MB_OK);
  107.  bSuccess=false;
  108.  m_EmployerInfoSet.Close();//关闭数据库返回
  109.  return ;
  110.  }
  111.     ////保存数据完成关闭数据库
  112.     m_EmployerInfoSet.Close();
  113. CDialog::OnOK();
  114. }
  115. void CEmployerInfoLookup::OnCancel() 
  116. {
  117. // TODO: Add extra cleanup here
  118. CDialog::OnCancel();
  119. }
  120. void CEmployerInfoLookup::InitDate()
  121. {
  122.    for(int i=0;i<100;i++)
  123.    {
  124.    STRINGS[i]="";
  125.    }
  126. }