SalaryDlg.cpp
上传用户:tyjx315
上传日期:2015-01-18
资源大小:1685k
文件大小:3k
源码类别:

百货/超市行业

开发平台:

Visual C++

  1. // SalaryDlg.cpp : implementation file
  2. //
  3. #include "stdafx.h"
  4. #include "SuperMarket.h"
  5. #include "SalaryDlg.h"
  6. #include "afxdb.h"
  7. #include "HintDlg.h"
  8. #ifdef _DEBUG
  9. #define new DEBUG_NEW
  10. #undef THIS_FILE
  11. static char THIS_FILE[] = __FILE__;
  12. #endif
  13. /////////////////////////////////////////////////////////////////////////////
  14. // CSalaryDlg dialog
  15. CSalaryDlg::CSalaryDlg(CWnd* pParent /*=NULL*/)
  16. : CDialog(CSalaryDlg::IDD, pParent)
  17. {
  18. //{{AFX_DATA_INIT(CSalaryDlg)
  19. m_number = _T("");
  20. m_name = _T("");
  21. m_salary = _T("");
  22. //}}AFX_DATA_INIT
  23. }
  24. void CSalaryDlg::DoDataExchange(CDataExchange* pDX)
  25. {
  26. CDialog::DoDataExchange(pDX);
  27. //{{AFX_DATA_MAP(CSalaryDlg)
  28. DDX_Text(pDX, IDC_EDIT2, m_number);
  29. DDX_Text(pDX, IDC_EDIT1, m_name);
  30. DDX_Text(pDX, IDC_EDIT3, m_salary);
  31. //}}AFX_DATA_MAP
  32. }
  33. BEGIN_MESSAGE_MAP(CSalaryDlg, CDialog)
  34. //{{AFX_MSG_MAP(CSalaryDlg)
  35. ON_BN_CLICKED(IDC_NAME_SEARCH, OnNameSearch)
  36. //}}AFX_MSG_MAP
  37. END_MESSAGE_MAP()
  38. /////////////////////////////////////////////////////////////////////////////
  39. // CSalaryDlg message handlers
  40. void CSalaryDlg::OnNameSearch() //查找
  41. {
  42. // TODO: Add your control notification handler code here
  43. CString strSQL;
  44. UpdateData();
  45. CDatabase dbTemp; //打开数据库
  46. dbTemp.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=超市管理数据库.mdb;"); 
  47.     CRecordset  rs( &dbTemp); 
  48. rs.Open(AFX_DB_USE_DEFAULT_TYPE,"select * From 工资表 where number = '"+m_number+"' " );
  49. if(m_number.GetAt(0) != 'Y' || m_number.GetLength() != 4 )
  50. {
  51. MessageBox ("员工编号不正确!n正确的编号如Y001");
  52. return;
  53. }
  54. if(rs.IsEOF())
  55. {
  56. MessageBox("无此员工的工资信息!");
  57. return;
  58. }
  59. else
  60. {
  61. rs.GetFieldValue((short)1,m_name);
  62. rs.GetFieldValue((short)2,m_salary);
  63. UpdateData(false);
  64. }
  65. rs.Close();
  66. dbTemp.Close();
  67. }
  68. void CSalaryDlg::OnOK()  //录入
  69. {
  70. // TODO: Add extra validation here
  71. CString strSQL,temp_salary;
  72. float salary;
  73. UpdateData();
  74. CDatabase dbTemp; //打开数据库
  75. dbTemp.OpenEx("Driver={Microsoft Access Driver (*.mdb)};DBQ=超市管理数据库.mdb;"); 
  76.     CRecordset  rs( &dbTemp); 
  77. rs.Open(AFX_DB_USE_DEFAULT_TYPE,"select * From 工资表 where number = '"+m_number+"' " );
  78. salary = atof(m_salary);
  79. if( m_number.GetAt(0) != 'Y' || m_number.GetLength() != 4)
  80. {
  81. MessageBox ("员工编号不正确!n正确的编号如Y001");
  82. return;
  83. }
  84. if(m_name == "")
  85. {
  86. MessageBox ("员工姓名不能为空!");
  87. return;
  88. }
  89. if(salary < 1000)
  90. {
  91. MessageBox("员工工资输入错误!n员工工资不能低于1000!");
  92. return;
  93. }
  94. if(rs.IsEOF())
  95. {
  96. strSQL = "insert into 工资表 values('"+m_number+"','"+m_name+"','"+m_salary+"')"; 
  97. dbTemp.ExecuteSQL(strSQL);
  98. MessageBox("工资录入成功!");
  99. m_number = "";
  100. m_name = "";
  101. m_salary="";
  102. UpdateData(false);
  103. }
  104. else
  105. {
  106. rs.GetFieldValue((short)2,temp_salary);
  107. UpdateData();
  108.     CHintDlg H_Dlg;
  109. H_Dlg.m_salary = temp_salary;
  110. if(H_Dlg.DoModal()==IDOK)
  111. {
  112. strSQL = "Update 工资表 set salary = '"+m_salary+"' where number = '"+m_number+"'"; 
  113. dbTemp.ExecuteSQL(strSQL);
  114. MessageBox("更新成功!");
  115. m_number = "";
  116. m_name = "";
  117. m_salary="";
  118. UpdateData(false);
  119. }
  120. else
  121. {
  122. m_number = "";
  123. m_name = "";
  124. m_salary="";
  125. MessageBox("员工工资不变!");
  126. UpdateData(false);
  127. }
  128. }
  129. rs.Close();
  130. dbTemp.Close();
  131. // CDialog::OnOK();
  132. }