C++课程设计《人事管理系统》

上传人:bei****lei 文档编号:114147640 上传时间:2022-06-27 格式:DOC 页数:21 大小:1.70MB
收藏 版权申诉 举报 下载
C++课程设计《人事管理系统》_第1页
第1页 / 共21页
C++课程设计《人事管理系统》_第2页
第2页 / 共21页
C++课程设计《人事管理系统》_第3页
第3页 / 共21页
资源描述:

《C++课程设计《人事管理系统》》由会员分享,可在线阅读,更多相关《C++课程设计《人事管理系统》(21页珍藏版)》请在装配图网上搜索。

1、安徽工业大学面向对象程序设计课程报告课程名称:人事管理系统姓名: 专业班级: 指导教师: 2013/12/281.数据库的建立:2. 配数据源:我的电脑|搜索C盘:ODBC.添加|数据源类型选 Microsoft Access Driver*.mdb,完成输入数据源名称“人事管理系统”,说明“用于创建人事管理系统”“选择”,数据库名“人事管理系统”,“确定”。3.创建人事管理应用程序框架VC+|文件|新建|工程|MFC AppWizardexe|名称“人事管理系统”选择“单文档”,“支持文档/视图构架”,“下一步”,选“查看数据库不使用文件支持”点“数据源.”,按截图选择“OK”,点“完成”,

2、看一下摘要,向导已生成程序框架4. 制作人事管理主窗体向导已生成主窗体:Dialog下的IDD_MY_FORM。在此对话框中加10个静态标签控件(只是用来提示其旁边的编辑框),如下:每个控件点下右键|属性|,可设置其ID和标题,全部都设置!在对应的静态标签右边放9个编辑框控件,每个控件下右键 | 属性,可设置其ID。为每个编辑框控件绑定数据源字段:选定一个编辑框控件,右键 | 建立类向导 | 成员变量标签 |class name列表下选CmySet(数据库的结果集)左边是数据库字段资源,右边是在类中为其分配的成员变量,但m_column*不好记,又不能改,只好全部删掉(Delete Varia

3、ble)再手工建立(Add Variable),换为好记的名字将编辑框(在CmyView视图类中)与上述变量绑定:Add Variable然后选而不是输入。你会发现惟独IDC_EDIT_GZSJ与m_gzsj(工作时间)联不上(没有m_pSet-m_gzsj可选),看一下m_gzsj的定义,在“人事管理系统Set.h”文件中用的是Ctime类,此类有些毛病(年份范围有限)以下花了很大精力解决“日期/时间字段”问题,本来可以把数据库的“工作时间”字段改为“文本”类型,这样向导就会自动对应Cstring,从而回避此问题。 之所以不回避,主要目的是想通过解决此问题,让同学们了解程序的结构。,并且应该

4、初始化为0(即NULL)(据说用SQL Server数据库就没问题,难道是与Access不匹配?),因此检查一下CmySet类的构造函数:发现惟独没有对m_gzsj初始化,因此加一句m_gzsj=0;再回去看看,结果还是不能绑定(还是没有m_pSet-m_gzsj可选)。所以还是不用Ctime类,改用COleDateTime类,改头文件:改构造函数中的初始化: 再回去看看,结果可以绑定了,注意类型变为COleDateTime。再到视图类中看看影射函数DoDataExchange(),已有映射了。保存,编译出错,提示DDX_FieldText(pDX, IDC_EDIT_GZSJ, m_pSet

5、-m_gzsj, m_pSet);中DDX_FieldText : none of the 10 overloads can convert parameter 3 from type class COleDateTime 可见 COleDateTime与CString无法转换方法1:自己转(请用此方法完成后面的“增加记录”) int dyear,dmonth,dday; dyear= m_pSet-m_gzsj.GetYear(); dmonth= m_pSet-m_gzsj.GetMonth(); dday= m_pSet-m_gzsj.GetDay(); CString dstr; ds

6、tr.Format(“%d-%d-%d”,dyear,dmonth,dday); DDX_FieldText(pDX, IDC_EDIT_GZSJ, dstr, m_pSet); 编译,运行开始正确,但点“下一记录”,出错,考虑:DDX_FieldText(pDX, IDC_EDIT_GZSJ, dstr, m_pSet);中最后的指针已没有用处,将此句改为:DDX_Text(pDX, IDC_EDIT_GZSJ, dstr); 编译,运行,暂时正确(还未经过UPDATE验证) 5. 为系统实现增加、删除、排序和查询功能 增加4个按钮,ID如下表: 增加新的对话框(窗体)及创建类成员:在查询或

7、过滤记录时,需要一个对话框,用于输入查询的条件,增加对话框的方法: VC主菜单,“插入”|“资源”|“对话框(Dialog)类型”| 放一个“分组框控件”,标题为“请输入过滤查询条件”| 在分组框内放一个“编辑框”控件新建对话框在工程中是不可识别的,须为其定义一个新的“类”并作一个类的声明,才可在工程中调用,对话框中“右键”| “类向导”,提示必须创建新类,创建,并命名为CDlgQuery 切到“成员变量”标签,为编辑框控件IDC_EDIT1增加成员变量m_query 编制按钮的单击响应代码:回到IDD_MY_FORM对话框, (1) 双击“增加记录”按钮,完成下列代码: void CMyVi

8、ew:OnButtonAdd() / TODO: Add your control notification handler code here m_pSet-AddNew(); m_pSet-Update();/更新记录集m_pSet-Requery();/重新提取数据m_pSet-MoveLast();/移动下一条记录UpdateData(FALSE);/更新视图 (2) 双击“删除记录”按钮,完成下列代码: void CMyView:OnButtonDel() / TODO: Add your control notification handler code here m_pSet-D

9、elete(); m_pSet-MoveNext(); if (m_pSet-IsEOF() m_pSet-MoveLast(); if (m_pSet-IsBOF() m_pSet-SetFieldNull(NULL); UpdateData(FALSE); (3)“筛选记录”按钮的响应代码:按职工编号查询,要用到对话框IDD_DIALOG1(CDlgQuery类)来输入筛选条件,所以“人事管理系统View.cpp”中要加入“#include DlgQuery.h”。CDlgQuery Dlgquery; CString value; if (Dlgquery.DoModal()=IDOK)/“模式窗口方式打开,结束前不能操纵父窗口” value=职工编号=+Dlgquery.m_query+; m_pSet-m_strFilter=value; m_pSet-Requery(); UpdateData(FALSE); (4) 双击“排序记录”按钮,完成下列代码:按职工编号排序 m_pSet-m_strSort=职工编号; m_pSet-Requery(); UpdateData(FALSE); 6.程序运行演示

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!