设为首页 加入收藏

TOP

4.6.3 考勤管理的实现(2)
2013-10-07 00:54:59 来源: 作者: 【 】 浏览:66
Tags:4.6.3 考勤管理 实现

4.6.3  考勤管理的实现(2)

上述代码将考勤的状态添加到数据库中,通过m_nFlag判断单击了哪个单选按钮,再通过m_strstate数组判断复选了几个复选框,构造SQL将数据插入到数据库中。

给【加班】按钮添加消息函数,实现加班对话框界面的显示,完成职工加班信息的统计,如图4-27所示。

 
图4-27  加班管理界面设计

双击此对话框为对话框创建一个新类COverTimeDlg,通过类向导为控件关联相应的变量。添加WM_INITDIALOG消息响应函数OnInitDialog,代码如下:

代码位置:见光盘中本章源代码的COverTimeDlg类。

  1. 1  BOOL COverTimeDlg::OnInitDialog()  
  2. 2  {  
  3. 3   CDialog::OnInitDialog();  
  4. 4   m_Type.SetCurSel(0);               
    //获取组合框选项  
  5. 5   return TRUE;  
  6. 6  } 

第4行代码初始设置组合框选中第一项。

此类中主要完成数据的获取,加班的具体实现在CCheckManageDlg中完成,加班按钮的消息响应函数如下:

代码位置:见光盘中本章源代码的CCheckManageDlg类。

  1. 1  void CCheckManageDlg::OnOvertime()  
  2. 2  {  
  3. 3   COverTimeDlg dlg;                                 
    //定义对话框对象  
  4. 4   UpdateData();                                     
    //数据的获取  
  5. 5   if(dlg.DoModal() == IDOK)                    
    //如果单击确定按钮  
  6. 6   {  
  7. 7       CString strSQL;                               
    //定义字符串变量  
  8. 8       CTime time = CTime::GetCurrentTime();           
    //获取当前系统的时间  
  9. 9       CString strTime = time.Format("%Y-%m-%d");   
    //将时间放到字符串中  
  10. 10          switch(dlg.m_nType)  
  11. 11          {  
  12. 12          case 0:  
  13. 13              strSQL.Format("update checkinfo set 
    ot1 = %d    //构造修改操作语句  
  14. 14               where id = %s and date = '%s'", 
    dlg.m_nHour, m_strID, strTime);  
  15. 15              break;  
  16. 16          case 1:  
  17. 17              strSQL.Format("update checkinfo set ot2 = %d  
  18. 18               where id = %s and date = '%s'", 
    dlg.m_nHour, m_strID, strTime);  
  19. 19              break;  
  20. 20          case 2:  
  21. 21              strSQL.Format("update checkinfo set ot3 = %d  
  22. 22               where id = %s and date = '%s'", 
    dlg.m_nHour, m_strID, strTime);  
  23. 23              break;  
  24. 24          }  
  25. 25          try  
  26. 26          {                                      
    //执行SQL语句  
  27. 27              theApp.m_pConnection->Execute
    ((_bstr_t)strSQL, NULL, adCmdText);  
  28. 28          }  
  29. 29          CATCH_ERROR;  
  30. 30      } 

第8~9行代码完成了系统时间的获取。

第10~29行代码将加班信息添加到数据库中。

上述代码为职工加班时间的设定,通过GetCurrentTime()获取当前的系统时间。m_nType为加班的类型,根据用户选择加班的类型,设置相应的加班时间,将数据添加到数据库中,在这里插入数据时需要职工的ID及时间进行匹配。

【责任编辑:云霞 TEL:(010)68476606】

回书目   上一节   下一节

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.6.4 考勤的统计、查询与删除(1.. 下一篇4.6.3 考勤管理的实现(1)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: