- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C课程设计《人事管理系统》
安徽工业大学
《面向对象程序设计》课程报告
课程名称:人事管理系统
姓名:
专业班级:
指导教师:
2013/12/28
1.数据库的建立:
配数据源:
我的电脑|搜索C盘:ODBC......
添加|数据源类型选 Microsoft Access Driver[*.mdb],完成
输入数据源名称“人事管理系统”,说明“用于创建人事管理系统”
“选择”,数据库名“人事管理系统”,“确定”。
3.创建人事管理应用程序框架
VC++|文件|新建|工程|MFC AppWizard[exe]|名称“人事管理系统”
选择“单文档”,“支持文档/视图构架”,“下一步”,,,
选“查看数据库不使用文件支持”点“数据源...”,,,按截图选择“OK”,,,
点“完成”,,,看一下摘要,,,向导已生成程序框架
制作人事管理主窗体
向导已生成主窗体:Dialog下的IDD_MY_FORM。在此对话框中加10个静态标签控件(只是用来提示其旁边的编辑框),如下:
每个控件点下右键|属性|,可设置其ID和标题,全部都设置!
在对应的静态标签右边放9个编辑框控件,每个控件下右键 | 属性,可设置其ID。
为每个编辑框控件绑定数据源字段:选定一个编辑框控件,右键 | 建立类向导 | 成员变量标签 |class name列表下选CmySet(数据库的结果集)左边是数据库字段资源,右边是在类中为其分配的成员变量,但m_column*不好记,又不能改,只好全部删掉(Delete Variable…)再手工建立(Add Variable…),换为好记的名字
将编辑框(在CmyView视图类中)与上述变量绑定:Add Variable…然后选而不是输入。
你会发现惟独IDC_EDIT_GZSJ与m_gzsj(工作时间)联不上(没有m_pSet-m_gzsj可选),看一下m_gzsj的定义,在“人事管理系统Set.h”文件中用的是Ctime类,此类有些毛病(年份范围有限)《以下花了很大精力解决“日期/时间字段”问题,本来可以把数据库的“工作时间”字段改为“文本”类型,这样向导就会自动对应Cstring,从而回避此问题。
之所以不回避,主要目的是想通过解决此问题,让同学们了解MFC程序的结构。》,并且应该初始化为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-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;
dstr.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验证)
为系统实现增加、删除、排序和查询功能
增加4个按钮,ID如下表:
增加新的对话框(窗体)及创建类成员:
在查询或过滤记录时,需要一个对话框,用于输入查询的条件,增加对话框的方法:
VC主菜单,“插入”|“资源”|“对话框(Dialog)类型”|
文档评论(0)