企业人事管理系统设计与开发论文.doc_第1页
企业人事管理系统设计与开发论文.doc_第2页
企业人事管理系统设计与开发论文.doc_第3页
企业人事管理系统设计与开发论文.doc_第4页
企业人事管理系统设计与开发论文.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

装订线xxx大学 毕业设计(论文)报告纸企业人事管理系统设计与开发论文目录1.引言 .11.1课题开发背景.21.2国内外研究现状.22 企业人事管理系统开发基础.32.1管理系统简介3 2.1.1管理信息系统.32.1.2 企业人事管理系统的开发方法.33.概述 .3 3.1.1 VC+特点.3 3.1.2本程序中使用的VC+控件及其属性简介.33.1.3系统数据访问接口的选择.33.1.4 SQL2000介绍.44.需求分析.54.1需求调查.54.2人事管理系统层次图.55.数据库设计.75.1数据库选择.75.2概念模型.75.数据表的建立.9 5.数据库的实现.106.总体设计.136.1模块的设计13 6.2系统总体流程图137.详细设计.147.详细设计的意义.147.各模块及界面的详细设计.157.2.权限验证模块的界面设计.157.2.用户权限控制模块及界面详细设计.177.2.3 主窗体.217.2.人事档案管理模块及界面设计.237.2.考勤信息模信息窗体的设计.287.2.帮助窗口的设计.418.测试.438.软件测试的重要性.438.2 测试方法.438.2.1Manage主窗体模块的测试.43 小结.44致谢.45参考文献.46 1引言1.1课题开发背景在企业中,人事管理工作是非常重要的一项工作,它负责整个企业的日常人事安排,人员的人事管理等。以前都是人工进行操作。随着企业规模的扩大,人事管理的工作量也大大地加重。随着计算机应用的发展,人事工作者急切希望能够将大部分烦琐的工作交给计算机处理,以减轻人工的压力并提高工作效率 。而计算机的普及加快人事管理系统的产生。人事管理的主要任务是为实现企业的整体目标提供合适可用的人才,这就要求人事部门进一步加大人事制度改革的力度,建立好人才档案,为企业选拔贤能创造一个良好的工作环境,使员工用其所长、人尽其才;关心和改善员工的生活条件,使员工无后顾之忧,充分发挥自己的内在潜力。1.2国内外研究现状企业人事管理的根本目的就是通过使用人才去达到最大利益。企业人事管理工作的好坏对企业的发展有较大的影响,企业对人事管理都较为重视。通过互联网查询的资料来看,国内目前类似的系统大多是针对企业员工管理,而对企业引进人才方面以及与员工交流平台方面所做的工作不多。2 企业人事管理系统开发基础2.1管理系统简介 2.1.1管理信息系统管理信息系统(MIS)是一个由人、计算机等组成的能进行信息收集、传递、存储、维护和使用的系统。管理信息系统是信息系统的一个分支之一,经过30多年的发展,已经成为一个具有自身概念、理论、结构、体系和开发方法的集管理科学、信息科学、系统科学及计算机科学等覆盖多学科的综合性学科。管理信息系统的结构通常由四个部分组成:信息源、信息处理器、信息用户和信息管理者。管理信息系统的主要任务一般要实现对基础数据的严格管理,确定信息处理过程的标准化,高效的完成日常处理业务、优化分配各种资源,包括人力、物力、财力等。MIS是一个人机结合的辅助管理系统,管理和决策的主题是人,计算机只是辅助的设备。目前国内使用和发展的MIS平台模式大体上分为两种:客户机/服务器(Client/Server,简称C/S)模式和Web浏览器/服务器(Browser/Server,简称B/S)模式。当前企业信息管理系统正在从C/S结构向B/S结构转移.B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构,主要是利用了不断成熟的WWW浏览器技术,结合浏览器的多种Script语言(VBScript、JavaScript等)和ActiveX技术,用通用浏览器就实现了原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。随着Windows 98/Windows 2000将浏览器技术植入操作系统内部,这种结构更成为当今应用软件的首选体系结构。显然B/S结构应用程序相对于传统的C/S结构应用程序是巨大的进步。2.1.2 企业人事管理系统的开发方法企业人事管理系统的开发是一个复杂的工程,它涉及到计算机处理技术、系统理论、组织结构、管理功能、管理知识等各方面的问题,至今没有一种统一完备的开发方法。但是每一种开发方法都要遵循相应的开发策略:1.系统要解决的问题。2.系统可行性研究,确定系统要实现的目标。3.系统开发原则。4.系统开发前的准备工作。5.系统开发方法的选择和开发计划的定制。3. 概述所用开发语言简介3.1.1 VC+的特点Visual C+是功能最为强大可视化开发工具,它不仅支持传统的软件开发方法,更重要的是它能支持面向对象、可视化的开发风格。因此Visual C+又称作是一个集成开发工具,它提供了软件代码自动生成和可视化的资源编辑功能。Visual C+具有的优点:提供了面向对象的应用程序框架MFC(Microsoft Foundation Class),简化了程序员的编程工作,提高了模块的可重用性;提供了基于CASE技术的可视化软件的自动生成和维护工具AppWizard、ClassWizard、Visual Studio、WizardBar等,实现了直观、可视的程序设计风格,方便地编和管理各种类,维护程序的源代码;封装了Windows的API函数、USER、KERNEL、GDI函数,简化了编程时创建、维护窗口的许多复杂的工作。3.1.2本程序中使用的VC+控件及其属性简介(1)CStatic(静态控件):显示一些几乎固定不变的文字或图形描述。(2)CButton(按钮控件):产生某些命令或改变某些选项设置。(3)CEdit(编辑框控件):完成文字的输入输出双向操作,查看并编辑文字。(4)CListBox(列表框控件):显示一个列表,让用户从中选取一个或多个项。(5)CComboBox(组合框):将列表框和编辑框有机地组合在一起,可选择列表中已有的项,还可以编辑出新的项。3.1.3系统数据访问接口的选择Visual C+中可用的数据访问对象接口有三种:ODBC(Open Database Connectity,开发数据库连接)、DAO(Data Access Objects,数据访问对象)及OLE DB(OLE data Base,OLE数据库)。1ODBC(Open Database Connectity,开发数据库连接)ODBC提供了应用程序接口(API),使得任何一个数据库都可以通过ODBC驱动器与指定DBMC相联,用户的程序就可以通过调用ODBC驱动管理器中相应的驱动程序达到管理数据库的目的。作为Microsoft Windows Open Standards Architecture(WOSA,Windows开放式服务体系结构)的主要组成部分,ODBC一直沿用至今。2.DAO(Data Access Objects,数据访问对象)DAO 提供了一种通过程序代码创建和操纵数据库的机制。多个DAO 对象构成了一个体系结构,在这个结构里,各个DAO 对象协同工作,通过 Microsoft Jet 数据库访问数据库中的数据和数据库的结构定义。可以访问的数据库类型主要有:Microsoft Jet 数据库、ODBC 数据源、可安装的ISAM数据库。DAO 是我们可以通过程序访问和操纵本地的或远程的数据和数据定义,管理数据库中的对象或结构。DAO 支持两种不同的数据库环境称为工作区(Workspace).Microsoft Jet Workspace 这是一种使用Microsoft Jet 数据库引擎来访问数据源的工作区。ODBC Direct Workspace 这是一种使用 ODBC Direct 来直接访问一个ODBC 数据源,并绕过Microsoft Jet 数据库引擎的工作区。可通过ODBC访问数据库服务器,而无须安装Microsoft Jet 数据库引擎。3OLE DB(OLE data Base,OLE数据库)。OLE DB试图提高一种统一的数据访问接口,并能处理除了标准的关系型数据库中的数据之外,还能处理包括邮件数据、Web上的文本或图形、目录服务(Directory Services),以及主机系统中的IMS和VSAM数据。OLE DB提供一个数据库编程COM(组件对象模型)接口,使得数据的使用者(应用程序)可以使用同样的方法访问各种数据,而不用考虑数据的具体存储地点、格式或类型。这个COM接口与ODBC相比,其健壮性和灵活性要高的多。但是,由于OLE DB的程序比较复杂,因而对于一般用户来说使用ODBC和DAO方式已能满足一般数据库处理的需要3.1.4 SQL2000介绍SQL Server是微软公司开发的一个关系数据库管理系统,以Transact_SQL作为它的数据库查询和编程语言。TSQL是结构化查询语言SQL的一种,支持ANSI SQL92标准。SQL Server 采用二级安全验证、登录验证及数据库用户帐号和角色的许可验证。SQL Server 支持两种身份验证模式:Windows NT身份验证和SQL Server 身份验证。7.0版支持多种类型的角色,角色概念的引入方便了权限的管理,也使权限的分配更加灵活。SQL Server为公共的管理功能提供了预定义的服务器和数据库角色,可以很容易为某一特定用户授予一组选择好的许可权限。SQL Server可以在不同的操作平台上运行,支持多种不同类型的网络协议如TCP/IP、IPX/SPX、Apple Talk等。SQL Server在服务器端的软件运行平台是Windows NT、Windows9x,在客户端可以是Windows3.x、Windows NT、Windows9x,也可以采用其它厂商开发的系统如Unix、Apple Macintosh等。微软的SQL Server是一项完美的客户/服务器系统。SQL Server需要安装在Windows NT的平台上,而Windows NT可以支持Intel 386,Power PC,MIPS,Alpha PC和RISC等平台,它使SQL Server具备足够的威力和功能。这里所有的文章所采用的数据库应用程序都是基于SQL Server之上的,采用ODBC及标准的SQL查询,可以非常简单的移植到任何一个支持ODBC的数据库之上,如:Oracle,Informix,Db2和Access,在阅读有关ASP数据库编程技术之前,要确认你至少熟悉一种数据库管理系统,并可以使用标准的SQL查询语言操作数据库。SQL Server提供服务器端的软件,这部分需要安装在NT Server上,SQL Server的用户端则可以安装在许多用户端PC系统中,Windows可以让用户端进行数据库的建立,维护及存取等操作,SQL Server可以最多定义32767个数据库,每个数据库中,可以定义20亿个表格,每个表格可以有250个字段,每个表格的数据个数并没有限制,每一个表格可以定义250个索引,其中有一个可以是Clustered索引。SQL Server所使用的数据库查询语言称为Transact-SQL,它是SQL Server的核心,Transact-SQL强化了原有的SQL关键字以进行数据的存取,储存及处理等功能,Transact-SQL扩充了流程控制指定,可以使你方便的编写功能强大的存储过程,他们存放在服务器端,并预先编译过,执行速度非常块,触发是一种特殊的存储过程,用来确保SQL Server数据库引用的完整性,你可以建立插入,删除和更新触发以控制相关的表格中对数据列的插入,删除和更新,你还可以使用规则(Rule),缺省(default)以及限制(Constraints),来协助将新的数值套用到表格中去。4. 需求分析4.1需求调查 人事管理是企业管理的一个重要内容。随着时代的进步,企业也逐渐变的庞大起来。如何管理好企业内部员工的信息,成为企业管理中的一个重要问题。在这种情况下,一个可以规范化,自动化的企业人事管理系统就显的非常重要。 最初的人事管理,都是靠人力来完成。当企业规模比较小的时候,人力可以完成。随着企业规模越来越大,企业员工的人数越来越多,依然维持着人力进管理必然会造成工作效率底,工作错误曾高等问题。 人事管理系统就是把分散的企业单位的职工信息实行统一,集中,规范的收集管理。建立分类编号管理,电脑存贮查询以及防火,防潮,防盗等现代化,专业化的管理系统。为企事业单位和职工解除后顾之忧。4.2人事管理系统层次图其模块如下:1:系统管理系统启动的时候有一个管理员用户,使用这个用户登陆以后,可以添加其他用户,而且每个用户都可以更改自己的密码。2:基础数据管理 1) 添加员工信息:系统自动生成员工的编号。管理员可以添加员工的基本信息。包括姓名,性别,籍贯,年龄,生日,住址,E-mail,学历,专业,进入本公司的时间等。2) 修改员工信息:选择一个员工,可以修改这个员工的基本信息。3) 查询员工的基本信息:可以根据员工的编号,姓名或是进入本公司的时间进行查询员工的基本信息,并且可以针对查询结果进行修改和册除等工作。4) 册除员工信息:直接从列表中选中要册除的员工信息,然后进行册除操作,或者首先查询要册除的员工信息,然后在册除。3:人事档案管理信息1) 添加员工考勤信息:主要分为上下班信息和其他考勤信息。上下班信息主要记录每个员工上下班时间,而其他考勤信息包括有请假,加班,出差等信息。2) 修改考勤信息:当考勤信息出现错误的时候,需要修改。可以从这里修改相应的记录。3) 查询考勤信息:根据员工的编号或者时间进行查询。得到所有的考勤信息,包括上下班,请假,加班,出差信息,但是不能对信息进行任何操作。4) 册除考勤信息:分为册除上下班信息和册除其他考勤信息。5) 设置上下班时间:设置公司的上下班的时间。4:考勤管理.1) 考勤设置信息:主要对员工的的基本上下班时间,部门,请假等情况的设置.2) 考勤记录信息:记录当天员工的出勤情况.3) 考勤查询信息:调用数据库来查询员工的出勤情况.5:数据库管理信息1) 添加调动信息:添加企业员工的原由部门,原由职务,新部门,新职务等信息2) 修改调动信息:相应的员工调动信息的修改。3) 查询调动信息:查询某个员工的调动信息或者某段时间内企业内部的调动情况。4) 册除调动信息:册除那些不需要的信息。6:备忘录.日常记事信息:记录一些在厂里面的会议,领导视查,交接班等等事情的事情。也可对记录的事情进行查询。7:帮助帮助信息:显示本管理系统的版本,及设计者情况。5.数据库设计5.1数据库选择凭证管理系统面向的对象是企业内部的各部门,由于各个部门间的财务关系相对独立,因此需要安全、方便的本地数据库。因此,我采用Microsoft公司的Access文件数据库来存放数据。5.2概念模型软件系统本质上是信息处理系统,因此在软件系统的整个开发过程中都必考虑到两方面的问题“数据”及对数据的“处理”。在需求分析阶段即要分析用户的数据要求又要分析用户的处理要求。为了把用户的数据要求清晰明确地表达出来,现采用最常用的表示概念性数据模型的方法(实体-联系方法)。由此方法作出的E-R模型如下:员工调动信息ER图:员工新职务调出时间员工姓名员工编号原部门记录编号新部门调人时间原职务员工考勤ER图:迟到次数员工早退次数员工编号员工姓名当前日期上班时间出入标志下班时间员工基本信息ER图员工进入公司时间生日年龄学历电话住宅地址专业员工姓名籍贯性别员工请假信息ER图:员工员工编号假期开始时间病假天数事假天数5.3数据库分析调查有关企业人事信息的需求,仔细分析都得到如图(1-2)所示的这个系统数据库图。管理员登录9员工调动信息管理员工基本信息管理员工考勤信息管理调动管理添加基本信息考勤管理 针对企业人事管理系统的需求,通过对员工工作过程的内容和数据流程分析,为本系统设计如下的数据项和数据结构: 基本的员工信息:包括员工编号,员工姓名,性别,出生日期,籍贯,学历,专业,进入本公司时间所在部门,参加工作时间,职称备注等. 员工调动信 息:包括员工编号 员工姓名 原部门 新部门 调出的时间 调人的时间 原职务 新职务 备注等. 员工考勤信 息:包括员工编号 员工姓名 所在部门 出勤时间 矿工时间 请假时间早退时间 迟到时间 加班时间 出差时间.5.4数据库的实现使用设计器创建这个系统需要的所有表格.如图所示.为用户管理模块进行录入: 字段名称类型主键非空user文本YesYespasswd文本NoYesisAdmin是否NoYes民族档案表字段名称类型主键非空ID自动编号YesYesfolk文本NoYes文化程度表字段名称类型主键非空ID自动编号YesYeseducation文本NoYes 图1-5为员工培训经历表字段名称数据类型主键非空ID自动编号yewyescode文本noyesmode文本noYesdate1时间日期noyesdate2时间日期noNoterm文本noNosubject文本NoNodept文本NoNocontent文本NoNooutlay文本NoNoresult文本NoNo 图1-6为奖惩记录表字段名称类型主键非空ID自动编号yesYescode文本NoYessort文本NoNodate1日期时间NoNo season1文本NoNodept文本NoNodate2日期时间NoNoreason文本NoNo部门类别设置字段名称数据类型主键非空ID自动编号YesYesdept文本NoYes职称类别设置表字段名称数据类型主键非空ID自动编号YewYestechnical文本NoYes职务类别设置表字段名称数据类型主键非空ID自动编号YesYesduty文本NoYes工痪 fas asfaffa工 工工资类别设置表字段名称类型主键非空ID自动编号YesYessalary文本NoYes工gh 政汉面貌设置表字段名称类型主键非空ID自动编号YesYespolitical文本NoYes职工基本信息设置表字段名称数据类型主键非空ID文本YesYesName文本NoYesSex文本NoYesBirth日期/时间NoNoFolk文本NoNoIsmarry文本NoNoCardID文本NoNoPhone文本NoNoEmail文本NoNoMphone文本NoNonative文本NoNoaddr文本NoNoschool文本NoNosubject文本NoNogdate日期/时间NoNodept文本NoNodept-1文本NoNodept-2文本NoNoisworker文本NoNoaboutpay文本NoNodate1日期/时间NoNodate2日期/时间NoNoeducation文本NoNoworkage数字NoNoherworkage数字NoNopolitical文本NoNotechnical文本NoNoduty文本NoNocomments文本NoNo1-7为职类型设置表字段名称类型主键非空ID自动编号YesYesworkstatus文本NoYes 图1-9为基本档案信息表字段名称类型主键非空ID自动编号yesYescode文本NoYessort文本NoNodate1文本NoNo Company文本NoNoDept文本NoNoDuty文本NoNolevel文本NoNo 6. 总体设计对第三章需求分析所得出的系统流程图,具体功能说明进行归类总结,并依据模块的特征以及独立性原则对系统进行分析后,不难得出系统的模块结构组成,以及各个模块之间的关系。6.1模块的设计用模块化原理进行软件设计时;为了得到一组最好的模块集合,应该根据信息隐蔽原理对软件进行分解。也就是应该这样来设计和确定模块,使得一个模块内包含的信息(数据和过程)对手不需要这些信息的模块是不能访问的。模块独立的概念,是模块化、抽象和信息隐蔽的直接结果。模块独立是指该模块能完成一个相对独立的特定子功能,并且与其他模块之间的接口很简单。模块独立有两个优势:一是具有独立模块的软件比较容易开发出来,这是因为能够分割功能,接口可以简化,并且有利于团队合作;二是独立的模块比较容易测试和维护,这是因为错误传播范围小。所以,提高模块独立性是设计模块的根本目标。本系统为数据库应用程序,主要是对数据库中记录的增加、修改、删除等操作,模块内部的各个组成部分的处理动作全都为数据库的操作功能存在。因此,系统中模块的聚合种类应为功能聚合。功能聚合模块具有定义很清楚的界面,它可以单独地被理解,进一步设计,然后再同其他模块连接起来。从模块特征以及模块独立性角度出发,得出以下结论:系统中模块的独立性要高,即耦合程度要低;模块的聚合程度要高,即尽量采用功能聚合。运行Visual C+后,选择文件 “新建工程”菜单。然后从工程模块中选择“标准EXE”项。单击确定按钮。Visual C+就会自动生成一个窗体,这个窗体的属性采用的都是默认的设置。在这个实例中,先册初这个窗体,然后选择“文件”在选“保存工程”菜单。在出现的“文件另存为”对话框中输入这个工程项目的名称为Manager并且选择这个工程的目录,单击“保存”按钮,保存工程。在这个系统中,每个功能模块都要使用数据库,因此可以使用一个公用的数据库操作函数,来执行一系列的SQL语句。 7. 详细设计7.1详细设计的意义软件详细设计是指对软件模块的过程设计。其主要任务是对总体设计所产生的功能模块进行过程描述,开发一个可以直接转换成程序语言代码的软件表示。这种表示应当是无歧义性并且是高度结构化的。详细设计阶段不是具体地编写程序,而是设计出程序的“蓝图”,程序员再根据这些蓝图进行编码。因此,详细设计的结果基本上决定了最终的程序代码的质量。衡量程序的质量不仅要看它在逻辑上是否正确地描述每个模块的功能,更重要地是要看它是否容易阅读、测试和维护。因此,要求详细设计表示的软件过程应具有高度的结构化构造。所以结构化程序设计是完成上述任务的关键技术。 7.2各模块及界面详细设计7.2.1权限验证模块的界面设计该模块通过登录对话框为用户提供操作界面,界面的设计效果如下图:通过定CloginDlg类来实现权限验证模块的功能,其登录对话框的初始化代码如下:BOOL CLoginDlg:OnInitDialog() CDialog:OnInitDialog();CPassWord recordset ;CString strSQL;UpdateData(TRUE);/strSQL.Format(select * from password where user=%s AND passwd=%s,m_strUser,m_strPass);strSQL=select * from password;if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(打开数据库失败!,数据库错误,MB_OK);return FALSE;while(!recordset.IsEOF()m_ctrUser.AddString(recordset.m_user);recordset.MoveNext();recordset.Close();return TRUE;用户的权限验证的处理是从数据库中查找是否有与用户输入的用户名和密码完全一样的记录,如果有根据数据库中的记录为该用户分配权限,如果不存在则提示登录不错误的信息。其代码如下:void CLoginDlg:OnOK() CPassWord recordset;CString strSQL;CManagerApp* ptheApp = (CManagerApp *) AfxGetApp();UpdateData(TRUE);/检查用户名是否输入if(m_strUser.IsEmpty()AfxMessageBox(请输入用户名!);m_ctrUser.SetFocus();return;if(m_strPass.IsEmpty()AfxMessageBox(请输入密码!);m_ctrPass.SetFocus();return;/从用户表中检查用户名密码是否正确strSQL.Format(select * from password where user=%s AND passwd=%s,m_strUser,m_strPass);if(!recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(打开数据库失败!,数据库错误,MB_OK);return ;if(recordset.GetRecordCount()=0)/密码错误处理recordset.Close();MessageBox(密码错误,请重新输入!);m_strPass=;m_ctrPass.SetFocus();UpdateData(FALSE);else/分配用户权限ptheApp-m_bIsAdmin = recordset.m_isadmin;recordset.Close();CDialog:OnOK(); 7.2.2用户控制模块及界面详细设计该模块通过用户设置对话框为用户提供操作界面,界面的设计效果如下图:其实行代码如下:BOOL CUserDlg:OnInitDialog() CDialog:OnInitDialog();/创建用户列表m_ctrList.InsertColumn(0,用户名);m_ctrList.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);m_ctrList.SetColumnWidth(0,120);/在添加用户列表中添加用户名RefreshData();return TRUE; void CUserDlg:RefreshData() m_ctrList.SetFocus();/清空用户列表m_ctrList.DeleteAllItems();m_ctrList.SetRedraw(FALSE);CString strSQL;UpdateData(TRUE);/打开记录集strSQL=select * from password;if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(打开数据库失败!,数据库错误,MB_OK);return ;/添加用户名到用户列表中int i=0;while(!m_recordset.IsEOF()m_ctrList.InsertItem(i+,m_recordset.m_user);m_recordset.MoveNext();m_recordset.Close();m_ctrList.SetRedraw(TRUE);void CUserDlg:OnClickListUsername(NMHDR* pNMHDR, LRESULT* pResult) CString strSQL;UpdateData(TRUE);/从数据库中获取选择用户名的资料int i = m_ctrList.GetSelectionMark();m_strUser = m_ctrList.GetItemText(i,0);strSQL.Format(select * from password where user=%s,m_strUser);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(打开数据库失败!,数据库错误,MB_OK);return ;/显示用户资料m_strPass = m_recordset.m_passwd;m_strRePass = m_strPass;m_bIsAdmin = m_recordset.m_isadmin;m_recordset.Close();UpdateData(FALSE);*pResult = 0;void CUserDlg:OnButtonNew() /清空用户资料m_strUser = ;m_strPass = ;m_strRePass = ;m_bIsAdmin = FALSE;/设置用户名编辑框为可用m_ctrUser.EnableWindow(TRUE);m_ctrUser.SetFocus();/更新数据到界面UpdateData(FALSE);void CUserDlg:OnButtonDelete() UpdateData(TRUE);/判断是否指定用户if(m_strUser=)MessageBox(请选择一个用户!);return;CString strSQL;strSQL.Format(select * from password where user=%s,m_strUser);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(打开数据库失败!,数据库错误,MB_OK);return ;/删除该用户m_recordset.Delete();m_recordset.Close();/刷新用户列表RefreshData();m_strUser = ;m_strPass = ;m_strRePass = ;m_bIsAdmin = FALSE;UpdateData(FALSE);void CUserDlg:OnOK() UpdateData();if(m_ctrUser.IsWindowEnabled()/增加新用户的输入检查if(m_strUser=)MessageBox(请填写用户名!);m_ctrUser.SetFocus();return;else/修改用户信息的输入检查if(m_strUser=)MessageBox(请选择一个用户!);return;/限制密码不能为空if(m_strPass=) MessageBox(密码不能为空,请输入密码!);m_ctrPass.SetFocus();return;/验证密码与确认密码是否一致if(m_strPass!=m_strRePass) MessageBox(两次输入地密码不一致,请重新输入密码!);m_ctrPass.SetFocus();m_strPass = ;m_strRePass = ;UpdateData(FALSE);return;/打开记录集CString strSQL;strSQL.Format(select * from password where user=%s,m_strUser);if(!m_recordset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL)MessageBox(打开数据库失败!,数据库错误,MB_OK);return ;if(m_ctrUser.IsWindowEnabled()/增加新用户/判断用户是否已经存在if(m_recordset.GetRecordCount()!=0)m_recordset.Close();MessageBox(该用户已经存在!);return;m_recordset.AddNew();m_recordset.m_user = m_strUser;m_recordset.m_passwd = m_strPass;m_recordset.m_isadmin = m_bIsAdmin;m_recordset.Update();MessageBox(用户添加成功!请记住用户名和密码!);m_recordset.Close();else/修改用户信息/判断用户是否不存在if(m_recordset.GetRecordCount()=0) m_recordset.Close();MessageBox(该用户不存在!请更新数据库);return;m_recordset.Edit();m_recordset.m_user = m_strUser;m_recordset.m_passwd = m_strPass;m_recordset.m_isadmin = m_bIsAdmin;m_recordset.Update();MessageBox(用户修改成功!请记住用户名和密码!);m_recordset.Close();m_ctrUser.EnableWindow(FALSE);/更新用户列表RefreshData();void CUserDlg:OnButtonCancel() / TODO: Add your control notification handler code herem_strUser = ;m_strPass = ;m_strRePass = ;m_bIsAdmin = FALSE;m_ctrUser.EnableWindow(FALSE);UpdateData(FALSE);7.2.3 主窗体1. 主体框架:使用MFCAppWizard 创建一个单文档结构的应用程序工程,建立起系统主体框架,生成应用程序类(CmanagerApp),文档类(CmanagerDoc),视图类(CmanagerView)和主框架类(Cm

温馨提示

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

评论

0/150

提交评论