职员培训管理系统的设计与实现_第1页
职员培训管理系统的设计与实现_第2页
职员培训管理系统的设计与实现_第3页
职员培训管理系统的设计与实现_第4页
职员培训管理系统的设计与实现_第5页
已阅读5页,还剩50页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目目 录录 1 引 言.1 1.1 课程设计背景及目的.1 1.2 职员管理系统的社会需求.1 1.3 开发工具及平台简介.2 2 系统分析.5 2.1 系统可行性分析.5 2.2 系统需求分析.6 2.3 系统设计思路.7 3 系统详细设计与实现.9 3.1 系统设计.9 3.2 系统开发环境配置.17 3.3 详细程序设计.17 4 系统测试与维护.27 4.1 系统测试.27 4.2 系统维护.32 5 结论.33 致 谢.34 参考文献.35 附录:设计源程序清单.36 职员培训管理系统的设计与实现职员培训管理系统的设计与实现 学生姓名:学生姓名: 指导老师:指导老师: 摘 要 本课程

2、设计结合管理制度,经过实际需求分析,开发了一个企业职员培训管理 系统。系统具有职员信息管理、培训计划管理、培训课程管理和系统信息管理等功能。 通过职员信息管理实现职员的添加、查询、删除等操作,可查看职员成绩信息、培训 计划、需求计划;通过系统信息管理可以修改用户密码,添加培训资源等。系统采用 Visual C+作为开发工具、数据库采用微软的 Access 开发,使用 C+语言同时使用了 MFC 窗口化编程,开发平台为 Window 2000/XP。系统还采用模块化程序设计,便于 系统功能的各种组合和修改,还具备有数据库维护功能,及时根据用户需求进行数据 的添加、删除和修改操作。 关键词 管理信

3、息系统;职员培训管理;Visual C+;Access The Design and Implementation of the Staff Training Management System Student name: Gui Chen Advisor:Zhou Shu-ren Abstract: This curriculum design aims at resolve the management problems of staff training. This system consists of employee information management, training

4、program management, training courses management and systems information management component. Information management can be achieved through the realization of the staff to add, query, delete and other operations, it also can look for the staffs score information, training programs, requirements pla

5、nning; through the management training program can add, delete information on the training plan; through management training courses can add and delete the relevant course information; through the system of information management to manage systems information, such as modify the users password, add

6、information of training resources. The development platform is Visual C + + and Microsofts Access database, use the c+ language to write programs, the completion of data entry, modification, storage, query and other operations, using the MFC windows programming when develop; use Access database tocr

7、eate data tables for data storage . Keywords: Information management system; Staff training Management; Visual C+; Access 1 引引 言言 企业通过一个好的职员培训管理系统,能使企业的培训工作系统化、规范化、自 动化、从而提高企业职员的素质和工作能力,使企业具有强大的竞争力。 本课程设计主要解决在一个综合型企业中,进行职员培训管理的程序设计。 企业职员培训管理系统旨在为企业管理者提供一个可以操作的,方便查询,易于 修改的辅助管理系统。 1.1 课程设计背景课程设计背景及目的及

8、目的 当今社会,计算机的应用及普及到经济和社会生活的各个领域,原本的旧的管理 方法越来越不适应现在社会的发展。为了适应现代社会人们高度强烈的时间观念,职 员培训管理系统,是使企业的职员培训工作系统化、规范化、自动化,从而达到提高 企业培训管理效率的目的。 随着科技的进步,社会已经进入了信息时代。企业对职员的素质要求越来越高, 而随着时代的进步、科技的发展,企业的职员很少能跟上时代的步伐,他们需要经过 培训才能更好的工作,但是企业的职员众多,素质高低不一,需要培训的课程不尽相 同,所以为了便于企业管理,使企业的管理更加自动化,提高工作效率,节约管理成 本。因此特选此为题目,其符合学校毕业设计要求

9、,能够达到提高计算机应用能力的 目的。 传统的培训方法,培训效果差,不能根据不同职员的实际实际情况,针对不同职 员实行不同的培训课程,更难让职员反映培训效果。一个高效的职员培训系统已经更 成为企业的必要的软件系统,以提高公司的整体工作效率,从而对全面提升企业竞争 能力和盈利能力具有重要作用。 该系统简单易用,提高企业领导管理职员培训的效率、为企业职员培训管理打下 了良好的基础,从而减少管理方面的工作量。因此特选此为题目,提高计算机应用能 力。 1.2 职员管理系统的社会需求职员管理系统的社会需求 近年来,有关职员培训管理的软件很多。但大部分是培训中介组织的一项面向企 业的服务,而且还是一些网络

10、版本。比如,在美国有ASTD-American Society for Training and Development、The Distance and Education Training Council Online、TCMs HR Careers、Resource Software 、Safety Software CString strSQL; UpdateData(TRUE); strSQL.Format(select * from USER_PSWD where TMS_USER=%s AND TMS_PSWD=%s,m_username,m_password); m_recor

11、dset-Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_recordset-GetRecordCount()=0) if(countGetBuffer(1)!=0) MessageBox(old passward wrong!); m_formerps.Empty(); m_newps.Empty(); m_confirmps.Empty(); UpdateData(FALSE); elseif(m_newps.Compare(m_confirmps)!=0) MessageBox(new passward confirm wrong!); m_form

12、erps.Empty(); m_newps.Empty(); m_confirmps.Empty(); UpdateData(FALSE); elsestrSQL.Format(delete from USER_PSWD where TMS_USER=%s,user); m_database.ExecuteSQL(strSQL); strSQL.Format(insert into USER_PSWD values(%s,%s),user,m_newps); m_database.ExecuteSQL(strSQL); MessageBox(password modify successful

13、); CDialog:OnOK(); 4 系统测试与维护系统测试与维护 4.1 系统测试系统测试 一、 添加功能测试 (一)添加职员基本信息功能 首先打开添加职员信息录入窗口,如图4.1所示,向窗口内添加职员的基本信息, 然后点提交按钮。 图 4.1 职员信息录入窗口 可以看见数据成功的添加到了数据库中,如图4.2所示: 图 4.2 成功添加职员信息 (二)添加职员成绩功能 首先选中职员信息管理窗口中的职员成绩单选按钮,点添加,进入添加成绩窗口 界面,然后向内添加需要添加的数据如图4.3所示: 图 4.3 职员成绩录入窗口 查看职员信息管理界面,点职员张三可以查看到张三的成绩成功的录入了。结果

14、如 图4.4所示: 图 4.4 成功添加成绩 (三)添加职员培训计划 首先选中职员信息管理窗口中的职员计划单选按钮,点添加,进入添加职员计划窗 口界面,然后向内添加需要添加的数据如图4.5所示,添加完成后点提交按钮: 图 4.5 职员培训计划添加界面 查看职员信息管理界面,点职员小明可以看到在职员培训计划窗口内成功添加了数 据如图4.6所示: 图 4.6 职员培训计划添加成功 (四)添加职员需求 首先选中职员信息管理窗口中的职员需求单选按钮,点添加,进入添加职员需求窗 口界面,然后向内添加需要添加的数据如图4.7所示,添加完成后点提交按钮: 图 4.7 添加职员需求窗口 查看职员信息管理界面,

15、点职员张三可以看到在职员需求窗口内成功添加了数据如 图4.8所示: 图 4.8 成功添加职员需求 二、 删除功能测试 (一)删除局部信息测试 进入职员信息管理界面,先测试删除职员培训计划。选择职员计划按钮,然后选择 需要删除的信息后点删除按钮,如图4.9所示: 图 4.9 删除职员培训计划 删除后可以发现除了职员的培训计划被删除外,别的信息都不受影响。如图4.10所 示: 图 4.10 成功删除职员培训计划 (二)删除全局数据测试 删除职员基本信息,则对应的职员成绩信息,培训计划信息,需求信息都要被删除, 删除职员张三的信息如图4.11所示: 图 4.11 删除职员基本信息 测试结果只能在数据

16、库中才能看出来有没有真正的删除:通过图4.12所示可以看见 成绩表中的张三的数据已经被删除了,测试成功。 图 4.12 职员成绩表 三、 查询功能测试 在职员管理界面,点职员基本信息单选按钮,输入要查询的信息如图4.13所示,点 击查询按钮: 图 4.13 查询信息 查询结果如图4.14所示,测试成功: 图 4.14 查询结果 4.2 系统维护系统维护 系统测试完成后,职员培训管理系统就可以投入运行了。但是随着用户的使用、 运行时间的增加等客观因素,难免会出现一些错误;并且随着科技的开发、社会的进 步,这个系统必定会在某些方面显示出不足。所以就需要管理员对其进行定期的系统 维护和软件升级,增加

17、新功能以适应社会的发展,满足培训的需要。 5 结论结论 本设计针对企业对职员的素质要求越来越高,为了适应企业对职员的需求,采用 功能强大的 Visual c+6.0 开发平台,使用 Access 数据库,设计了职员培训管理系统。 本文在开发中的任务包括以下几个方面: 1确定课题研究方向 确定课题研究的方向,查阅相关文献资料,了解职员培训的研究思路。确定设计 该系统的需求,为系统功能制定相应的计划,设计出大概的整体框架。 2数据库关系及功能分析 针对企业对职员培训的实际要求,在明确具体的需求之后,完成数据库各个表之 间的关系的分析、数据库各个表的具体实现以及数据库详细的功能分析,为系统功能 具体

18、的实现做好基础。 3功能实现 完成各个表以后,将各个表之间的联系转化为功能之间的联系,同时为各个功能 划分模块,逐步完成模块代码的具体实现,最后将所有的代码整合到一起形成一个初 步的职员培训系统。 4代码的测试 完成代码的实现之后,进行系统的测试,将软件工程黑盒测试的技术运用到该系 统当中,在测试的过程中继续改进系统完备系统的功能 致致 谢谢 经过两个星期的紧张设计和制作,我终于完成了职员培训管理系统的设计与实现。 系统编写过程中困难重重,从资料搜集到系统的整体设计,再到各个模块的详细设计, 都不断接触到新的知识。为了更好的完成课程设计,查阅了大量资料与实例。并将学 习到的新知识马上应用到系统

19、编写中。在此次课程设计中,在周书仁老师的悉心指导 和严格要求下完成,从系统设计、编写程序、调试程序到书写课程论文,老师和同学 都提供了很多帮助。 通过此次课程设计,很好的实践了所学的管理信息系统及案例课程,同时锻 炼了自己的自学能力,能很快的将新知识补充进自己的知识库,并马上应用到实际系 统设计之中。 最后,感谢宿舍里为了课程设计一起奋斗的姐妹,感谢计算机系的同学为我的模 块设计和论文写作所提的意见,感谢老师指导我调试程序消除错误,感谢长沙理工大 学机房所提供的条件,谢谢同组以及其他组同学的相互帮助,有了这些,我才能很好 的顺利的完成我的这次课程设计。 参考文献 1 段兴VISUAL C+实用

20、程序 100 例M北京:人民邮电出版社,2001:47-58 2 程慧霞用 C+建造专家系统M北京:电子工业出版社,2001:20-150. 3 门槛创作室VISUAL C+6.0 教程M北京:电子工业出版社,1999:56-77. 4 官章全,韩云君VISUAL C+6.0 高级编程范例M北京:电子工业出版社, 2001:65-88 5 求实科技Visual C+ 6.0 数据库开发技术与工程实践M北京:人民邮电出版社, 2004:10-40 6 郑阿奇,丁有和. Visual C+教程M. 北京: 机械工业出版社,2007 7 郑小玲,王学军,王立国 Access 项目开发实用案例M北京:

21、科学出版社, 2006 8 黄明,梁旭,周绍斌 Visual C+信息系统设计与开发实例M北京:机械工业 出版社,2005 9 求是科技Visual C+ 6.0 信息管理系统开发M北京:人民邮电出版社,2006 10 汪小龙Visual C+与 Windows 编程学习参考M 南京:南京大学出版社, 2005 11 韩存兵Visual C+数据库编程实战M北京:科学出版社,2004 12 薛晓萍,任伟,胡洁企业职员培训管理系统的设计与实现J维普期刊, 2009,ISSN 1009-3044 13 邵碧华,王飞. MIS 软件设计的新思路J . 华南金融电脑,2002,(07). 12 csd

22、n 程序员网站,http:/ 附录:设计源程序清单 / 程序包名称:职员培训系统 / 程序作者:桂忱 / 最后修改日期:2010-11-23 职员信息管理模块对话框初始化函数,功能是初始化 List Control 控件的列名,然 后显示数据。代码如下: BOOL CDIALOG_PERSONNEL:OnInitDialog() CDialog:OnInitDialog();/确定列名 select=-1; / TODO: Add extra initialization here m_basic.InsertColumn(0,职员号); m_basic.InsertColumn(1,职员姓名

23、); m_basic.InsertColumn(2,所在部门号); m_basic.InsertColumn(3,学历); m_basic.InsertColumn(4,性别); m_basic.InsertColumn(5,生日); m_basic.InsertColumn(6,籍贯); m_basic.InsertColumn(7,国籍); m_basic.InsertColumn(8,民族); m_basic.InsertColumn(9,身份证号); m_basic.InsertColumn(10,婚姻状况); m_basic.InsertColumn(11,健康状况); m_basi

24、c.InsertColumn(12,参加工作时间); m_basic.InsertColumn(13,职员状态); m_basic.InsertColumn(14,状态时间); m_basic.InsertColumn(15,家庭住址); m_basic.InsertColumn(16,联系电话); m_basic.InsertColumn(17,Email 地址); m_basic.InsertColumn(18,工作岗位代号); RECT rectbasic; /取得 List Control 对象的宽并进行分配 m_basic.GetWindowRect( int widbasic =

25、rectbasic.right - rectbasic.left; m_basic.SetColumnWidth(0,widbasic/8); m_basic.SetColumnWidth(1,widbasic/8); m_basic.SetColumnWidth(18,widbasic/8); /属性设置(选中一个位置,则该行都高亮) m_basic.SetExtendedStyle(LVS_EX_FULLROWSELECT); /下面是对其他三个对象的初始化 m_score.InsertColumn(0,职员号); m_score.InsertColumn(1,课程号); m_score.

26、InsertColumn(2,上课时间); m_score.InsertColumn(3,上课地点); m_score.InsertColumn(4,教师号); m_score.InsertColumn(5,成绩 1); m_score.InsertColumn(6,成绩 2); m_score.InsertColumn(7,教师评语); m_score.InsertColumn(8,通过与否); RECT rectscore; m_score.GetWindowRect( int widscore= rectscore.right - rectscore.left; m_need.Inser

27、tColumn(0,课程号); m_need.InsertColumn(1,课程需要者号); RECT rectneed; m_need.GetWindowRect( int widneed= rectneed.right - rectneed.left; m_need.SetColumnWidth(0,widneed/2); m_need.SetColumnWidth(1,widneed/2); m_need.SetExtendedStyle(LVS_EX_FULLROWSELECT); m_plan.InsertColumn(0,职员号); m_plan.InsertColumn(1,课程

28、号); m_plan.InsertColumn(2,课程开始时间); m_plan.InsertColumn(3,课程结束时间); RECT rectplan; m_plan.GetWindowRect( int widplan= rectplan.right - rectplan.left; m_plan.SetColumnWidth(0,widplan/4); m_plan.SetColumnWidth(1,widplan/4); m_plan.SetColumnWidth(2,widplan/4); m_plan.SetColumnWidth(3,widplan/4); m_plan.S

29、etExtendedStyle(LVS_EX_FULLROWSELECT); p_query.Format(select * from PERSONNEL); RefreshData(); return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE 职员信息管理模块中更新函数 RefreshData(),这个函数随时被调用来显示数据。 void CDIALOG_PERSONNEL:RefreshData() /首先确保数据

30、库打开 if(!m_database.IsOpen() m_database.Open(_T(train); /对 m_basic 控件内容的更新 m_basic.DeleteAllItems(); /创建记录集 CPersonSet m_basicset( CString strSQL; m_basicset.Open(AFX_DB_USE_DEFAULT_TYPE,p_query); CDBVariant varValue; if(m_basicset.GetRecordCount()!=0) m_basicset.MoveFirst(); char buf20; int i=0; whi

31、le(!m_basicset.IsEOF() int temp=0; m_basicset.GetFieldValue(temp,varValue); sprintf(buf,%d,varValue.m_lVal); m_basic.InsertItem(i,buf); m_basicset.GetFieldValue(1,varValue); m_basic.SetItemText(i,1,varValue.m_pstring-GetBuffer(1); m_basicset.GetFieldValue(18,varValue); sprintf(buf,%d,varValue.m_chVa

32、l); m_basic.SetItemText(i,18,buf); m_basicset.MoveNext(); i+; m_score.DeleteAllItems(); CScoreSet m_scoreset( strSQL.Format(select * from SCORE where EMP_NO=%d,person_id); m_scoreset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_scoreset.GetRecordCount()!=0) m_scoreset.MoveFirst(); i=0; while(!m_needse

33、t.IsEOF() int temp=0; m_needset.GetFieldValue(temp,varValue); sprintf(buf,%d,varValue.m_iVal); m_need.InsertItem(i,buf); m_needset.GetFieldValue(1,varValue); sprintf(buf,%d,varValue.m_lVal); m_need.SetItemText(i,1,buf); m_needset.MoveNext(); i+; m_plan.DeleteAllItems(); CPersonPlanSet m_planset( str

34、SQL.Format(select*fromPERSONNEL_PLANwhere EMP_NO=%d,person_id); m_planset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); if(m_planset.GetRecordCount()!=0) m_planset.MoveFirst(); i=0; while(!m_planset.IsEOF() int temp=0; m_planset.GetFieldValue(temp,varValue); sprintf(buf,%d,varValue.m_lVal); m_plan.InsertIte

35、m(i,buf); m_planset.GetFieldValue(1,varValue); sprintf(buf,%d,varValue.m_lVal); m_plan.SetItemText(i,1,buf); m_planset.GetFieldValue(2,varValue); sprintf(buf,%d-%d-%d,varValue.m_pdate-year,varValue.m_pdate- month,varValue.m_pdate-day); m_plan.SetItemText(i,2,buf); m_planset.GetFieldValue(3,varValue)

36、; sprintf(buf,%d-%d-%d,varValue.m_pdate-year,varValue.m_pdate- month,varValue.m_pdate-day); m_plan.SetItemText(i,3,buf); m_planset.MoveNext(); i+; 删除和添加记录都需要预先选定操作的数据表,如何获取用户选择的内容,实现这 个功能的是一系列 RadioButon 的单击函数和再删除和添加之前对信息的判断,每单击 一次 RadioButon,其他 RadioButon 上的选择便被去除(实现单选功能) ,函数代码如 下: void CDIALOG_PER

37、SONNEL:OnRadio1() / TODO: Add your control notification handler code here CDialog:CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO1); void CDIALOG_PERSONNEL:OnRadio2() / TODO: Add your control notification handler code here CDialog:CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO2); void CDIALOG_PER

38、SONNEL:OnRadio3() / TODO: Add your control notification handler code here CDialog:CheckRadioButton(IDC_RADIO1,IDC_RADIO4,IDC_RADIO3); 为了明确是哪条职员基本信息本选中,程序利用了 ClistCtrl 类的单击事件,并把选 中的记录设为蓝色,单击事件函数如下: void CDIALOG_PERSONNEL:OnClickList1(NMHDR* pNMHDR, LRESULT* pResult) / TODO: Add your control notificat

39、ion handler code here int i=m_basic.GetSelectionMark(); CString strSQL; if(i=-1) MessageBox(please choose a record first!); else person_id=atoi(m_basic.GetItemText(i,0); m_basic.SetHotItem(i); RefreshData(); /*pResult = 0; 职员信息管理窗口中“删除”按钮的单击事件调用 OnButtondel()函数,用于删除 所选定数据表的内容,如果用户将职员基本数据表中的一条记录删除,那么

40、程序会自 动删除职员在成绩表、计划表和需求表的记录,程序代码如下: void CDIALOG_PERSONNEL:OnButtondel() / TODO: Add your control notification handler code here int choice=CDialog:GetCheckedRadioButton(IDC_RADIO1,IDC_RADIO4); if(choice=IDC_RADIO1) int i=m_basic.GetHotItem(); CString strSQL; if(i=-1) MessageBox(please choose a record

41、 first!); else int keyid=atoi(m_basic.GetItemText(i,0); strSQL.Format(delete from PERSONNEL where EMP_NO=%d,keyid); m_database.ExecuteSQL(strSQL); strSQL.Format(delete from PERSONNEL_PLAN where EMP_NO=%d,keyid); m_database.ExecuteSQL(strSQL); strSQL.Format(delete from SCORE where EMP_NO=%d,keyid); m

42、_database.ExecuteSQL(strSQL); strSQL.Format(delete from COURSE_NEED where COURSE_NEED=%d,keyid); m_database.ExecuteSQL(strSQL); m_database.Close(); RefreshData(); else if(choice=IDC_RADIO2) int i=m_plan.GetSelectionMark(); CString strSQL; if(i=-1) MessageBox(please choose a record first!); else int

43、keyid=atoi(m_plan.GetItemText(i,1); strSQL.Format(delete from PERSONNEL_PLAN where COURSE_ID=%d,keyid); m_database.ExecuteSQL(strSQL); m_database.Close(); RefreshData(); else if(choice=IDC_RADIO3) int i=m_need.GetSelectionMark(); CString strSQL; if(i=-1) MessageBox(please choose a record first!); el

44、se int keyid=atoi(m_need.GetItemText(i,0); strSQL.Format(delete from COURSE_NEED where COURSE_ID=%d,keyid); m_database.ExecuteSQL(strSQL); m_database.Close(); RefreshData(); else if(choice=IDC_RADIO4) int i=m_score.GetSelectionMark(); CString strSQL; if(i=-1) MessageBox(please choose a record first!

45、); else int keyid=atoi(m_score.GetItemText(i,1); strSQL.Format(delete from SCORE where COURSE_ID=%d,keyid); m_database.ExecuteSQL(strSQL); m_database.Close(); RefreshData(); else MessageBox(please choose a class first!); 培训课程管理窗口的初始化函数和更新显示函数代码: BOOL CDIALOG_TRAINCOURSE:OnInitDialog() CDialog:OnInit

46、Dialog(); / TODO: Add extra initialization here m_content.InsertColumn(0,课程号); m_content.InsertColumn(1,课程类别); m_content.InsertColumn(2,课程中文名称); m_content.InsertColumn(3,课程英文名称); m_content.InsertColumn(4,课程描述); m_content.InsertColumn(5,课程学时); m_content.InsertColumn(6,教材); m_content.InsertColumn(7,等效

47、课程); m_content.InsertColumn(8,预修课程); m_content.InsertColumn(9,初训/复训标志); m_content.InsertColumn(10,开课部门); RECT rect; m_content.GetWindowRect( int wid = rect.right - rect.left; m_content.SetColumnWidth(0,wid/11); m_content.SetColumnWidth(1,wid/11); m_content.SetColumnWidth(10,wid/11); m_content.SetExt

48、endedStyle(LVS_EX_FULLROWSELECT); RefreshData(); return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE void CDIALOG_TRAINCOURSE:RefreshData() if(!m_database.IsOpen() m_database.Open(_T(train); m_content.DeleteAllItems(); CCourseSet m_rec

49、ordset( CString strSQL; strSQL.Format(select * from COURSE); m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); CDBVariant varValue; if(m_recordset.GetRecordCount()!=0) m_recordset.MoveFirst(); char buf20; int i=0; while(!m_recordset.IsEOF() int temp=0; m_recordset.GetFieldValue(temp,varValue); sprin

50、tf(buf,%d,varValue.m_iVal); m_content.InsertItem(i,buf); m_recordset.GetFieldValue(1,varValue); m_content.SetItemText(i,1,varValue.m_pstring-GetBuffer(1); m_recordset.GetFieldValue(10,varValue); sprintf(buf,%d,varValue.m_iVal); m_content.SetItemText(i,10,buf); m_recordset.MoveNext(); i+; 添加和删除函数: vo

51、id CDIALOG_TRAINCOURSE:OnButtondel() / TODO: Add your control notification handler code here int i=m_content.GetSelectionMark(); CString strSQL; if(i=-1) MessageBox(please choose a record first!); else int keyid=atoi(m_content.GetItemText(i,0); strSQL.Format(delete from COURSE where COURSE_ID=%d,key

52、id); m_database.ExecuteSQL(strSQL); strSQL.Format(delete from COURSE_EVALUATION where COURSE_ID=%d,keyid); m_database.ExecuteSQL(strSQL); m_database.Close(); RefreshData(); 培训教材管理模块的更新数据显示、List Control 的单击函数和删除函数代码: void CDIALOG_BOOK:RefreshData() if(!m_database.IsOpen() m_database.Open(_T(train); m

53、_content1.DeleteAllItems(); m_content2.DeleteAllItems(); CBookSet m_recordset1( CTrainPlanSet m_recordset2( CString strSQL; strSQL.Format(select * from BOOK); m_recordset1.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); CDBVariant varValue; if(m_recordset1.GetRecordCount()!=0) m_recordset1.MoveFirst(); char b

54、uf20; int i=0; /删除选定记录 void CDIALOG_BOOK:OnButtondel() / TODO: Add your control notification handler code here int i=m_content1.GetHotItem(); CString strSQL; if(i=-1) MessageBox(please choose a record first!); else int keyid=atoi(m_content1.GetItemText(i,0); strSQL.Format(delete from BOOK where BOOK

55、_ID=%d,keyid); m_database.ExecuteSQL(strSQL); m_database.Close(); RefreshData(); 培训计划管理模块函数代码: void CDIALOG_PLAN:OnButtonadd() / TODO: Add your control notification handler code here CTrainPlanInfo m_trainplaninfo; m_database.Close(); m_trainplaninfo.m_database.Open(_T(train); m_trainplaninfo.DoModa

56、l(); RefreshData(); void CDIALOG_PLAN:RefreshData() if(!m_database.IsOpen() m_database.Open(_T(train); m_content.DeleteAllItems(); CTrainPlanSet m_recordset( CString strSQL; strSQL.Format(select * from COURSE_AVAILABLE); m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL); CDBVariant varValue; if(m_rec

57、ordset.GetRecordCount()!=0) m_recordset.MoveFirst(); char buf20; int i=0; BOOL CDIALOG_PLAN:OnInitDialog() CDialog:OnInitDialog(); / TODO: Add extra initialization here m_content.InsertColumn(0,课程号); m_content.InsertColumn(1,课程开始时间); m_content.InsertColumn(2,课程结束时间); m_content.InsertColumn(3,教师号); m

58、_content.InsertColumn(4,上课人数); m_content.InsertColumn(5,上课地点); RECT rect; m_content.GetWindowRect( int wid = rect.right - rect.left; m_content.SetColumnWidth(0,wid/8); m_content.SetColumnWidth(1,wid*3/16); m_content.SetColumnWidth(2,wid/8); m_content.SetColumnWidth(3,wid*3/16); m_content.SetColumnWi

59、dth(4,wid/8); m_content.SetColumnWidth(5,wid/4); m_content.SetExtendedStyle(LVS_EX_FULLROWSELECT); RefreshData(); return TRUE; / return TRUE unless you set the focus to a control / EXCEPTION: OCX Property Pages should return FALSE 培训教员管理模块程序代码: CDIALOG_TEACHER:CDIALOG_TEACHER(CWnd* pParent /*=NULL*/

60、) : CDialog(CDIALOG_TEACHER:IDD, pParent) /AFX_DATA_INIT(CDIALOG_TEACHER) / NOTE: the ClassWizard will add member initialization here /AFX_DATA_INIT void CDIALOG_TEACHER:DoDataExchange(CDataExchange* pDX) CDialog:DoDataExchange(pDX); /AFX_DATA_MAP(CDIALOG_TEACHER) DDX_Control(pDX, IDC_LIST1, m_conte

温馨提示

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

评论

0/150

提交评论