公司员工档案管理系统毕业论文_第1页
公司员工档案管理系统毕业论文_第2页
公司员工档案管理系统毕业论文_第3页
公司员工档案管理系统毕业论文_第4页
公司员工档案管理系统毕业论文_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、1、八前言公司员工档案管理系统是企事业单位不可缺少的部分 , 它的内容对于公司的 决策者和管理者来说都至关重要 , 所以公司员工档案管理系统应该能够为用户提 供充足的信息和快捷的查询手段。 但一直以来人们使用传统人工的方式管理文件 员工档案,这种管理方式存在着许多缺点 ,如:效率低、保密性差,另外时间一长 , 将产生大量的文件和数据 , 这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高 , 计算机科学日渐成熟 ,其强大的功能已为人们深 刻认识, 它已进入人类社会的各个领域并发挥着越来越重要的作用。作为计算机应用的一部分 , 使用计算机对员工档案信息进行管理 ,具有着手 工管理所

2、无法比拟的优点 .例如: 检索迅速、查找方便、可靠性高、存储量大、保 密性好、寿命长、成本低等。这些优点能够极大地提高员工档案管理的效率 , 也 是企业的科学化、正规化管理 , 与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情 , 在下面的各章中将以开 发一套公司员工档案管理系统为例 , 谈谈其开发过程和所涉及到的问题及解决方 法。2毕业设计(论文)原创性声明和使用授权说明原创性声明本人郑重承诺:所呈交的毕业设计(论文),是我个人在指导教 师的指导下进行的研究工作及取得的成果。 尽我所知,除文中特别加 以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研 究成果,也不

3、包含我为获得_ 及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。作者签名:_日 期:_指导教师签名: _日 期: _使用授权说明本人完全了解_ 大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电 子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供 目录检索与阅览服务; 学校可以采用影印、 缩印、 数字化或其它复制 手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分 或全部内容。作者签名:_日 期:_3第一章 系统概述1 1 开发背景11 1当前趋势现代教

4、育技术特别是网络与多媒体技术的发展, 对学习活动产生了具有深远 意义的冲击, 网络中的学习者必须是一个主动行为着的主体, 人们可以选择或者 设计适合其学习特点的信息采集、 加工与重组方式, 一种个性化的学习类型。 该 档案管理系统采用多层架构的系统, 是真正适应教育信息化发展三大趋势的企业 网络应用系统,全面支持 Internet 功能、远程访问功能,全部采用最先进的 B/S(浏览器/服务器)模式来开发,支持有关公司信息交流、日常教学、教务管 理等的各种应用,提供了一个基于企业内联网中支持各种类型的企业应用产品的 服务平台和开发平台,基本目标是在公司内部和外部建立起顺畅的信息通道, 让 信息技

5、术成为推动企业生产力的有力工具, 提高公司的管理水平和效率, 同时充 分利用全球的人力资源为公司的信息服务, 克服了目前大部分公司的企业网建设 只起到宣传作用的通病。112 用计算机管理公司员工档案的意义现在我国的中小公司中员工档案的管理水平还停留在纸介质的基础上, 这样 的机制已经不能适应时代的发展, 因为它浪费了许多人力和物力, 在信息时代这 种传统的管理方法必然被计算机为基础的信息管理所取代。作为一个计算机应用的专科生, 希望可以在这方面有所贡献。 改革的总设计 师邓小平同志说过“科学技术是第一生产力” ,我希望能用我三年的所学编制出 一个实用的程序来帮助中小企业进行更有效的员工档案管理

6、。归纳起来,好处大约有以下几点:1. 可以存储历届的员工档案,安全、高效;2. 只需一到二名员工档案录入员即可操作系统,节省大量人力;3. 可以迅速查到所需信息。1 2 员工档案管理系统概述121 开展该系统的原因由于现今的员工档案管理非常繁琐, 行政人员付出大量的工作时间, 得到的 效率很低。 因此为提高工作效率, 减轻企业人员的工作负担, 决定开发员工档案 管理系统软件。1 2 2 该工程的基本目标 开发此员工档案管理系统软件,以供企业人员及操作者4进行员工档案管理, 方便操作者随时添加、查询、修改等。为了我们提高软件开发的能力,学习汉语 编程的技巧, 提高工作设计思想, 通过本次的工程开

7、发, 开发小组成员与辅助老 师,公司的技师交流, 能从中学习知识吸取经验, 再技术和软件思想上同时得到 锻炼和提高,从而使总体水升到一个新的高度。1 3 开发环境以及开发工具介绍该软件是在 Windows 2000 Advanced Server + Visual Basic 6.0 + SQL Server2000 的环境下完成的。下面就对这些开发工具进行介绍: 131 Visual Basic 6.0微软公司的 Visual Basic 6.0是 Windows 应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。 Visual Basic 提供了大量的控件, 这些控件可用于

8、设计界面和实现各种功能, 减少了编程人员的工作量, 也简化了 界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。利用 VISUAL BASIC 程序设计语言,可以很方便地设计出在WINDOWS 境下运行的应用程序。故而,实现本系统 VB 是一个相对较好的选择。1311 Visual Basic的编程特点Visual Basic 语言的出现为 Windows 下的编程提出了一个新概念,利用 VisualBasic 的动态数据交换、对象的链接和嵌入、动态链接库、 ActiveX 技术 可以很方便地设计出功能强大的应用程序。利用 Visual Basic 语言编程有以下几个特点:1可视化程序

9、设计在 Visual Basic 中开发的应用程序,不但有丰富的图形界面,同时由用户 为开发图形界面添加的代码真是少而又少, 因为在设计图形界面的过程中只需设 置ActiveX 控件的属性即可。2强大的数据库和网络功能随着 Visual Basic 语言的向前发展,它在数据库和网络方面的功能优势就 愈加明显, 利用 Visual Basic 中的 ODBC 开放式的数据库访问技术可以很方 便地开发出自己的数据库应用程序;利用 Visual Basic 自带的可视化数据管理 器和报表生成器,完全可以在 Visual Basic 就完成数据库的开发工作。3其它特性在 Visual Basic 以前

10、的版本中,由于仍然摆脱不了解释执行的代码运行机 制,所以在相当的程度上制约了 Visual Basic 的发展。5从 Visual Basic5.0 版本开始,在 Visual Basic 中制作的应用程序都改变 为编译执行,使得 Visual Basic 的代码效率有了很大的提高, 同时执行的速度 也 加快了解30%(同 Visual Basic4.0 相比) 。当然在 Visual Basic 中还有其它特性,例如:面向对象的编程语言; 结构化程序设计;事件驱动的程序设计:在传统的或“过程化”的应用程序中,应用程序自身控制了执行哪一部分代 码和按何种顺序执行代码。 从第一行代码执行程序并按

11、应用程序中预定的路径执 行,必要时才会调用过程。在事件驱动的应用程序中, 代码不是按预定的路径执行, 而是在响不同的事 件时执行不同的代码片段。 事件可以由用户操作触发、 也可以由来自操作系统或 其它应用程序的消息触发、甚至由应用程序本身的消息触发。这些事件的顺序, 决定了代码执行的顺序,因此应用程序每次运行时所经过的路径都是不同的。支持动态链接库; 应用程序之间的资源共享。1312 VB 支持的数据库系统VB 支持对多格式的数据库的访问和维护,无论是 Access 还是 Foxpro 中创 建的数据库,都可以用 VB 打开,对其进行查询、修改和删除等操作。事实上, VB 几乎支持对市面上所有

12、数据库的访问。VB 可以访问的数据库可以简单的分为三类,即:Microsoft Access 格式数据库,外部数据库和 ODB(数据库。VB 对多种数据库格式的支持,大大的增强了 开发数据库应用程序的能力。1313 Jet 数据库引擎Microsoft 引擎为 Visual Basic 与数据库的接口提供了基本的方法。 Jet 引擎被Visual Basic , Microsoft Access 和其他 Microsoft 产品共享。 Jet 数 据库引擎提供了多种功能, Jet 的数据定义功能支持对表、索引、查询的创建、 修改和删除。 Jet以主键标和表间引用完整性的形式支持数据完整性。对于

13、数据操纵,Jet 支持使用 SQL SQL 提供用单独语句对基于用户定义标 准的记录组进行检索、添加、删除或更新的方法。Jet 也提供对安全功能的支持。这种功能让开发者指定用户标识符和口令, 他们必须在用户访问数据库之前给出。 Jet 也支持使用许可,或是对单个表和查 询的访问级别(例如,只读或读写可访问性) 。这是的数据库管理员要对每一位 用户或用户组分配对数据库不同特定访问。除了数据操作和数据定义任务外,也可用 Jet 引擎来执行其他的任务。 Jet 还具6备在数据库开发工作中所需的其他功能, 这些功能包括: 数据库修复, 数据 库压缩(以使消除不同的空间)和重新索引。13 1 4 数据库

14、开发中的三大工具Visual Basic 在数据库应用程序的开发领域中, 提供包含数据管理(DataManager),数据控件(Data Control )以及数据编程对象(数据访问对象(DAO、远程数据对象(RDO 和 ActiveX 数据对象(ADO)等功能强大的工具, 协助设计人员轻松的连接数据库文件, 并访问其中的数据, 在功能方面与其他一 些专业数据库软件(如 FoxPro,Microsoft Access 等)不相上下。数据管理器( Data Manager )是 Visual Basic 已有的老成员之一,拓本盛 举有的 Jet 数据库引擎(Database Engine)可以帮

15、助 VB 程序元件立即维护数据 库内容,并可通过输入查询或查找数据库信息, 而不必再通过其他数据库软件另 外去设计数据库。数据控件是 VB 所提供的基本控件成员之一。它使得设计者省下一堆程序代 码编写的工作, 能够轻松的设计及维护数据库内容。 数据控件可以通过一些属性 的设置去链接某个数据库文件,但是它本身并无法显示数据库各个记录的内容, 必须在搭配其他具有数据感知(Data Aware)功能的控件对应并显示一个字段内 容,以方便地进行记录的浏览及编辑工作。VB 提供的数据访问对象(Data Access Object ; DAO 让程序设计者拥有更 大的发挥空间。 借助程序代码编写, 直接控

16、制 Jet 数据库引擎,配合数据库控件, 能够开发出更具弹性且高效率的数据应用程序。RDO!处理远程数据库的一些专门需要的对象集合。 使用 RDC 可以不用本地 的查询机就能访问 ODB(数据源,这无疑将大大提高应用程序的性能。ADC 是 VB6 0 中新增的对象,它是一个更简单的对象模型,它更好的集成 了其它数据访问技术,并且对本地和远程数据库均有共同的界面,可以取代DAO和 RDO ADC 更易于使用。我们在本系统中利用数据管理器创建了数据库及数据库表,并采用了ADO数据访问技术。1 3 2 SQL Server 2000 简介SQL Server 2000 是微软公司大型数据库服务器,其

17、性能指标在各方面都有 赶超Oracle 数据库的趋势。用它可以方便地管理数据库和开发应用程序,它使 用了最先进的数据库构架,与 Win dows NT/2000 平台紧密集成,具有完全的 Web 功能。通过对高端硬件平台、网络和存储技术的支持,为 WEB 占和企业的应用最 大限度地提供7了可扩展性和高可靠性, 能在 Internet 商业领域快速建立并应用。 此外,还增强了安全性, 保护防火墙内外的数据。 支持基于角色的安全并拥有安 全审计工具。在经历了 SQL Server 6.5 和 7.0 两个版本的尝试后,微软公司终 于开始了大规模的业务。记得在以前各种关于 SQL Server 的文

18、章,都会将其定 位成中小型应用方面,这种感觉被大家自然的延续到了 2000 版之中。其实这是 一种误解。 在过去的很长一段时间中, 微软公司聘请了世界上最优秀的数据库专 家以及专门搭建了信息量可谓空前的地理信息系统, 励精图治, 就是为了摘掉扣 在自己头上的这顶帽子。 有了强大的性能和功能支持, 再配合其一向为人称道的 易用性,SQL Server 可以说成为了开发者手中的一柄利器!另外,目前国内的一些关于微软平台的数据库编程教程,喜欢使用作为数据库平台的案例, 并展开相关的内容。 这其实对于开发真正的数据库应用 并没有直接的帮助作用, 只能使大家停留在应用的初级阶段。SQL Server 2

19、000提供的非常傻瓜的缺省安装和使用模式,其上手难度并不比 Access 大。另外, SQLServer 2000 可以兼顾小、中、大规模的应用,有着远远比Access 强大的伸缩性。 SQL Server数据库特点概括起来, SQL Server 2000 数据库管理系统具有以下主要特点。1丰富的图形管理工具,使系统管理、操作更为直观方便。SQLServer 企业管理器是一个基于图形用户界面 (GUI) 的集成管理工具, 利用它可以配置管 理 SQLServer 服务器、管理数据库和数据库对象、备份和恢复数据、调度任务 和管理警报、实现数据复制和转换操作等。 此外, SQLSe

20、rver 2000 还提供了 SQL 事件探查器、SQL 查询分析器、SQLServer 服务管理器和多种操作向导等图形界 面管理工具,大大简化了用户操作,从而增强了系统的易用性。2 动态自动管理和优化功能。即使 SQLServer 数据库管理员不做任何设置,SQLServer 也能够在运行过程中根据环境配置和用户访问情况动态自动配置, 以达到最优性能,从而减轻管理员工作。3充分的 Internet 技术支持。 Internet 网络发展到今天已经成为一条重 要的信息发布渠道, SQLServer 增强了对 Internet 技术支持,它除保留了前期 版本中的数据库 Web 出版工具“ Web

21、 助手”外,还增强了对 XML 和 HTTP 技术的 支持,这使得电子商务系统能够通过 XML 等访问 SQL Server 数据库系统,也扩 展了 SQLServer 在数据挖掘和分析服务领域的应用。4丰富的编程接口工具, 使用户开发 SQLServer 数据库应用程序更加灵活。Access8SQL Server 提供了 Transact-SQL、DB-Library for C 、嵌入式 SQL(ESQL 等 开发工具,Transact-SQL 与工业标准 SQL 语言兼容,并在其基础上加以扩充, 使它更适合事务处理方面的需要。此外, SQLServer 2000 还支持 ODB、COLE

22、DB、 ADO 规范,可以使用 ODBC OLE DB ADO 接口访问 SQL Server 数据库。5具有很好的伸缩性和可靠性。SQL Server 2000 既能运行在 Windows 桌面操作系统下,又可运行在服务器操作系统(包括WindowsNT 和 Windows2000)下;既能运行在单 CPU 计算机上,又能运行在对称多处理系统下。所以,它具有 很好的伸缩性,能够满足从桌面应用到大型企业分布式应用到不同层次用户的要 求。6简单的管理方式。 SQL Server 2000 与 Microsoft Windows 2000 有机集 成,所以可以使用 Windows 2000 的活动

23、目录( Active Directory )功能对 SQL Server 进行集中管理, 大大简化大型企业中的系统管理工作。 此外,与 Windows 2000 的集成还使 SQLServer 能够充分利用操作系统所提供的服务和功能(如安 全管理、事件日志、性能监视器、内存管理和异步 I/O 等),从而增强了 SQLServer 数据库系统的功能,并且只需要占用很少的系统资源。1. 3. 3ADC 对象概述ADO 寸象是针对当前微软的软件所支持的数据进行操作的最为有效、简单并且功能强大的方法。它可以把大部分数据源可编程的属性直接扩展到ActiveServer 上,主要含有 Conn ectio

24、n、Recordset 与 Comma nc 三种对象。其中:Connection 对象主要负责打开或连接数据库文件;Recordset 对象主要是存取数 据库的内容;Comma n(对象主要是对数据库下达行动查询指令以及SQL Server的 Stored Proceduce。ADO 寸象能够存取到数据库的内容,首先要求数据库的驱动程序(ODBC 区动 程序与 OLEDB 驱动程序)必须安装上,否则,ADO 寸象是无法存取数据库中内容, 其原理示意图如图 1.1 所示:9图 1.1 ADO 对象存取数据原理示意图请注意:上图中的“各种数据库所对应的驱动程序”即 ODBC 区动程序与 OLED

25、B 驱动程序。利用 ADC 开发网络数据库应用程序ADOActive Date Objects,即 ActiveX 数据对象)是一个 ASP 内置的 ActiveX 服务器组件(ActiveX Server Component )。可把它与 ASP 结合起来,建立提供 数据库信息的网页内容,对数据库进行查询、插入、更新、删除等操作,并可以 把在用户端实现“网上实时更新显示”的最新Web 数据库技术。要执行 ADO,服务器端必须安装 Win dows NT Server 和 In ternet In formationServer(IIS),而客户端只要有 IE 或 NETSCAP

26、 较新版本的浏览器即可。利用 ADC 开发网络数据库应用程序有以下几个优点: 支持客户机/服务器结构(Client/Server )与 Web 系统开发技术。内部有多个互相独立的对象模型 支持分批修改数据库内容。 支持多种不同的数据控制指标形式。先进的 Recordset 数据高速缓存管理功能。允许在程序中使用多个 Recordset 对象或者多个分批修改区块传送。ADO 属于 Free_threaded 对象,利用它可以开发出更有效的 Wei 应用程序 ADO 组件的主要对象及其功能ADOS 件又称为数据库访问组件,它提供了以下七种对象:Conn ection 对象:提供对数据

27、库的连接服务。Comma n 对象:定义对数据库源操作的命令。10Recordset 对象:由数据库服务器所返回的记录集。Recordset 对象的 LockType 属性的设置值常量值说明adLockReadO nly1默认值,只读。无法更改数据adLockPressimistic2保守式记录锁定(逐条)。提供者执行必要的操作确保成 功编辑记录,通常采用立即锁定数据源的记录的方式。adLockOptimistic3开放式记录锁疋(逐条)。 提供者使用开放式锁疋, 只在 调用 Updata方法时锁定记录。adLockBatchOptimistic4开放式批更新。用于与立即更新模式相反的批更新模

28、式。Fields 对象:由数据库服务器所返回的单一数据字段Parametes 对象:表示 Comman 对象的参数。Property 对象:单独的一个 Property 对象,提供属性功能。Error 对象:提供处理错误的功能。使用 ADO 寸象可以建立和管理数据库的连接,按数据库服务器的要求获得数 据,执行更新、删除、添加数据等操作,获取ODBC 勺错误信息等。用来操纵数据的 SQL 命令SQL 命令是发送给数据库并要求数据库操作的指令,它是专门为数据库设计 的语言,比一般的计算机程序语言简单的多。SQL 命令主要分成两部分:DDL(DataDefinition Languag

29、e) 和 DML(Data Manipulation Language), 其中 DDL 是建立 数据表及数据列的指令群,而 DML 则是操作数据库记录的指令群,如数据库记录 的添加、更新、删除、和查询等。SQL 命令,包括 Select、Delete、Update、Insert Into 、Select Into 等。筛选及排序记录的 Select 指令基本句型一:Select 字段串列 From 数据表基本句型二:Select , From , Where 筛选条件基本句型三: Select , From , Order By 字段串列Select Top :限定选取数据的条数 删除数据记

30、录的 Delete 指令 基本语法: Delete From 数据表 Where 条件式 更新数据记录的 Update 指令 基本语法: Update 数据表 Set 表达式 增加数据记录的 Insert Into 指令11基本句型一: Insert Into 数据表 ( 字段串列 ) Values ( 字段串列 ) 基本句型二:|nsert Into 数据表(字段 1,字段 2,字段 n) Select , 建立新数据表的 Select Into 指令该指令与“ Insert Into , Select , ”指令的区别是,这个指令将建立另一个 新的数据表,而 Insert Into 是增加

31、数据记录到“现存的”数据表中。1 24 Visual Basic 6.0访问数据库的过程1定义数据库组建Dim con As New ADODB.Connection2打开数据库对于 SQL 数据库,其连接语句为 con.Open driver=sql server;server=localhost;uid=sa;pwd=;database=studen。而对于 Access 数据库,连接语句为con.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path + student.mdb3设定 SQL 语句,使用“ Execute

32、”命令,即可开始执行访问数据库的动作Dim rs As New ADODB.Recordset 其中 rs 为结果集对象(RECORDSET4关闭结果集对象,断开与数据库的连接rs.CloseCon.Close第二章 系统整体规划2 1 数据库的设计在系统设计过程中,首先要建立的就是数据库。本数据库采用 SQL Server 2000来构造, 共使用了 7 个表, 它们分别是用户信息表 ( UserInfo ) 、 员工信息 表 (StuInfo ) 、部门信息表(Class)、职业信息表(Major)、公司信息表(Depart)、 职位信息表(Lesson)、员工业绩表(Result )。1

33、用户信息表( UserInfo ):12字段名数据类型说明是否为空是否为关键字UserID文本用户名Not NullPrimary KeyUserPWD文本用户密码Not NullUserName文本姓名Not NullUserPower文本使用权限Not Null2公司员工信息表(Stulnfo ):字段名数据类型说明是否为空是否为关键字SID文本身份证号Not NullPrimary KeySName文本姓名Not NullSGe nder文本性别Not NullSPlace文本籍贯Not NullSBirthday日期/时间出生日期Not NullSMi nzu文本民族Not NullS

34、Zhe ngzhi文本政治面貌Not NullSDormitory文本移动电话号码Not NullSAddress文本家庭住址Not NullSCode文本邮政编码Not NullSTel文本联系电话Not NullSRemark备注备注Not Null3 .公司信息表(Class):字段名数据类型说明是否为空是否为关键字ID文本公司代码Not NullPrimary Key4 职业信息表(Major):字段名数据类型说明是否为空是否为关键字ID文本职业代号Not NullPrimary KeyName文本职业名称Not Null5.部门信息表(Depart):13字段名数据类型说明是否为空是

35、否为关键字ID文本部门代号Not NullPrimary KeyName文本部门名称Not Null6 职位信息表(Lesson):字段名数据类型说明是否为空是否为关键字ID文本职位代号Not NullPrimary KeyName文本职位名称Not NullTime文本时Not NullMark文本分Not Null7 .员工业绩表(Result ):字段名数据类型说明是否为空是否为关键字ID文本员工工号号Not NullPrimary KeyName文本工号名称Not NullPrimary KeyScore文本数Not NullRemark文本备注Not Null142.2 系统流程图图

36、 2.1 系统流程图2 3 系统功能分析系统开发的目标是实现公司员工档案管理的系统化、规范化和自动化,这 是在用户要求的基础上提出来的,功能要求如下:(一)员工信息管理:能对员工信息进行添加、修改、删除。(二)职员管理:对职员进行添加、修改、删除操作。(三)部门设置:(三)业绩管理:(四)查询员工信息:根据身份证号或姓名对员工信息进行精确 / 模糊查询(五)用户管理:定义使用本系统的用户名称及密码第三章 系统具体实现经过需求分析、 功能模块设计之后要进入详细设计阶段, 本阶段将按系统的 主要模块进行论述,重在阐述具体的某项功能的实现方法或运用到的相关技术。3 1准备工作1添加引用:单击工程菜单

37、中的引用选项,添加Microsoft ActiveX DataObjects 2.6 Library 和 Microsoft Excel 9.0 Object Library 两个引用。152添加部件:单击工程菜单中的部件选项,添加Microsoft ADO Data Control6.0 (OLEDB) 、Microsoft CommonDialog Control 6.0 (SP3)、Microsoft FlexGridControl 6.0 、 Microsoft Windows Common Controls 6.0(SP4) 和 MicrosoftWindows Common Con

38、trols-2 6.0 五项。3 2 模块设计添加两个模块 modulel 和 module2,在 modulel 中添加如下代码Option ExplicitGlobal con As New ADODB.ConnectionGlobal rs As New ADODB.RecordsetGlobal classid As String, stuid As StringGlobal LoginUser As String, LoginPower As StringLoginUser 记录当前登陆用户的用户名 ,LoginPower 记录当前登陆用户的权限 DimUserid As Strin

39、g, Userpwd As String, Username As String, Userpower As StringDim sqlstr As StringSub Main()If App.PrevInstance = True ThenMsgBox 注意程序已经运行,不能再次装载! , vbOKOnlyExit SubElseCon.Open Provider=Microsoft.Jet.OLEDB.4.0;DataSource=&App.Path+student.mdbFrmlogin.ShowEnd IfEnd Sub在 module2 中添加代码(MD5 算法)详细代码见程序中

40、module2.bas33 用户界面实现331 登陆界面 (frmlogin) 因为本系统是按员工档案管理的思想设计的, 故而登陆部分主要完成密码校验、确定管理员等功能,对于密码本系统采用的是 MD5 算法。这里附上本程序的 登陆界面。16在代码窗口的“通用”部分,定义一个模块级的公共变量 loginno 用来记 录当前密码输入错误的次数Dim loginno As Integer在 Form 的 Load 事件中,将 txtuser 设置为焦点,初始化 loginno 。Private Sub Form_Load()loginno = 0Me.Showtxtuser.SetFocusEnd

41、Sub这里将“确定”和“取消”两个按钮作为一个按钮数组cmdOkCance:l 确定按钮的 index 属性为 0,取消按钮的 index 属性为 1。利用 SQL 语句,在数据库中查询,如果查到相应的记录,贝 U 调用 Case 0 事件,用户的登陆获得通过,此时可以退出登陆窗口,并进入 MDI 主窗口,同时将用户 类型和用户名分别传递到 MDI 主窗口和 frmmanage 中;如果没有相应的记录,则 给出提示错误信息,同时将用户输入错误密码次数增加 1,如果错误超过 3 次, 则退出整个系统;若次数还没有超过 3 次,则提示用户重新输入。根据以上的设计,cmdOkCanee 的 Clic

42、k 事件的代码如下:Private Sub cmdOkCa ncel_Click(l ndex As In teger)Select Case IndexCase 0Userid = Trim(txtuser.Text)Userpwd = MD5(Trim(txtPassword.Text)sqlstr = select * from UserInfo where UserID= & Userid & rs.Open sqlstr, con, 1, 1If Not rs.EOF ThenIf rs(UserPWD) Userpwd Then 密码错误时17MsgBox 您输入的密码不正确! ,

43、 vbQuestionMe.Caption = 请输入用户名和密码: loginno = loginno + 1 当错误的密码次数达到 3 次时,不能登陆,退出!If loginno = 3 ThenMsgBox 对不起,您不能使用该系统! 请与管理员联系。 , vbInformationUnload MeExit SubEnd IfElseLoginUser = Userid 保存当前登陆用户名LoginPower = rs.Fields(3) 将当前登陆用户的权限保存到 LoginPower 中Unload Me frmflash.ShowEnd IfElseMsgBox 没有您输入的用户

44、名! , 32J JEnd Ifrs.Close: Set rs = NothingCase 1退出整个程序Unload MeEnd SelectEnd Sub332 MDI 主窗口 (frmmain)本系统采取多文档界面 (MultiDocument Interface) 。 多文档界面是一种 Win dows用户界面标准。它有一个父窗口,在典型情况下,父窗口用来显示程序 菜单以及包含子窗口。18在工程中添加一个 MDI 窗口,取名为“frmmain.frm ”,并为 MDI 窗体进行菜 单和代码的设计。33 2 1 菜单设计MDI 主窗体是整个系统的容器,为了方便用户的使用,应设计相应的菜

45、单和 代码。33 2 2 窗体代码设计1在代码窗口的通用部分, 声明一个 API 函数用于打开帮助文件和调用 Outlook 发送邮件。Private Declare Function ShellExecute& Lib shell32.dll Alias ShellExecuteA(ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String,ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmdAs Long)2判断用

46、户权限 如果登陆的为普通用户类型的用户,则用户不能使用“用户管理”这一功能,而 对于管理员类型的用户,则没有此限制。所以在 MDIForm 的 Load 事件中需要判断用户类型。Private Sub MDIForm_Load()StatusBar.Panels(2).Text = 当前操作员: & LoginUser & & LoginPower & If LoginPower = 普通用户 Thenfilemenu11.Enabled = FalseToolbar1.Buttons.Item(5).Enabled = FalseEnd IfEnd Sub3.Form 的 QueryUnlo

47、ad 事件当用户要退出 MDI 窗体时,需要在 QueryUnload 事件中询问用户是否真的 要退出本系统;如果用户不要退出,则将 Cancel 置为 1,取消整个退出过程。Private SubMDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)If MsgBox( 确定要退出员工档案管理系统吗?是 / 否, vbYesNo+vbQuestion+vbDefaultButton1) = vbNo Then19Cancel = 1End If End SubQueryUnload 和 Unload 事件当一个子窗体或一个

48、Form 对象关闭时,在那个窗体中的 QueryUnload 事件 先于该窗体的 Unload 事件发生, Unload 事件在 Terminate 事件之前发生。当一个应用程序关闭时, 可使用 QueryUnload 或 Unload 事件过程将 Cancel 属性设置为 True 来阻止关闭过程。但是, QueryUnload 事件是在任一个卸载之 前在所有窗体中发生,而 Unload 是在每个窗体卸载时发生。在这两个事件中,均可将 Cancel 设置为任何非零的值来防止窗体被删除。 但Unload 不能阻止其他事件,诸如从 Microsoft Windows 操作环境中退出等; 而Que

49、ryUnload 事件则可以阻止从 Windows 中的退出。有介于此,通常来说都是 在QueryUnload 中询问用户是否要退出当前窗体。4.“重新登陆”子菜单的代码当单击了 “重新登陆”或者按下了“ F2”键时,将会给出提示,如果用户在 提示框中按下了 “确定”按钮,则退出整个MDI 主窗体,并显示登陆窗体。Private Sub filemenu15_Click()If MsgBox(若重新登陆,所有窗体都将关闭!是否重新登陆?vbQuestion,重新登陆)=vbYes ThenUn load MeFrmlogin .ShowEnd IfEnd Sub5“帮助主题”子菜单的代码调用

50、Windows API 函数,打开 help.chm 帮助文件。Private Sub fileme nu21_Click()ShellExecute 0, ope n, App.Path & help.chm, , , 1End Sub6“给我发邮件”子菜单的代码如果用户单击了 “给我发邮件”子菜单,则会调用 API 函数,调用 Outlook。, vbYesNo+20Private Sub fileme nu22_Click()ShellExecute Me.hw nd, ope n,mailto:datou158eta , ,App.Path, 1 End Sub7 当用户单击查询员工资

51、料菜单项或者按下F3 键时,将会出现“查找员工”窗体,供用户查找满足特定要求的员工信息。Private Sub fileme nu45_Click()查找员工frmstusearch.Show 1End Sub3. 3. 3 用户管理窗体(frmmanag向项目中添加窗体,并命名为 frmmanage.frm。窗体的控件设计如图 3.3 所示图 3.3 用户管理界面如果登陆的用户类型是管理员,用户管理一项是可用的,当单击该子菜单时,21将会出现用户管理窗口,管理员可以对系统用户进行添加和删除操作33 3 1 窗体代码设计1定义一个整型变量 DelNO 用来存储当前系统用户的数目,当 DelNO

52、=1 时提示用户不能再删除用户。在该窗体的通用部分写如下代码:Dim DelNO As Integer2窗体加载时,初始化 Listview 用以显示系统用户列表,代码如下Private Sub Form_Load() 初始化 ListViewDim clmX As ColumnHeaderSet clmX = ListView.ColumnHeaders.Add(, , Set clmX = ListView.ColumnHeaders.Add(,Set clmX = ListView.ColumnHeaders.Add(,Set clmX = ListView.ColumnHeaders.

53、Add(, , 4,2)Combo1.ClearCombo1.AddItem 普通用户 Combo1.AddItem 超级用户 Combo1.ListIndex = 0LoadOperatorEnd Sub其中调用了 LoadOperator 函数,该函数用来显示和刷新 Listview 中的数据 PrivateSub LoadOperator()On Error Resume NextDim Listit As ListItemListView.ListItems.Clear ListView.LabelEdit = lvwAuto ListView.View = 3Dim ef As Ne

54、w ADODB.Recordset sqlstr = select * from UserInfo ef.Open sqlstr, con,1, 1 DelNO = ef.RecordCountDo While Not ef.EOF用户名, ListView.Width / 3)密码 , ListView.Width / 6, 2)姓名 , ListView.Width / 4, 2)用户权限 , ListView.Width /22Set Listit = ListView.ListItems.Add(, , ef.Fields(UserID)Listit.SubItems(1) = * 隐

55、藏用户的密码,用 * 来替代。Listit.SubItems(2) = ef(UserName)Listit.SubItems(3) = ef(UserPower)ef.MoveNextLoopSet ef = Nothing End Sub3添加用户在 Textbox 中输入了相应的数据以后,按添加按钮则调用该按钮的 Click 事件,代码如下当单击“添加”按钮时,首先检查输入的用户名和密码是否为空, 代码如下:Private Sub Command4_Click()If Trim(Text1.Text) = ThenMsgBox 登陆用户名不允许为空! , vbOKOnly + 48, 提

56、示: Text1.SetFocusExit SubEnd IfIf InStr(1, Trim(Text1.Text), , vbTextCompare) ThenMsgBox 用户姓名中有特殊字符 + , 请删除。 , vbOKOnly + 48, 提示: Text1.SetFocusExit SubEnd IfIf Trim(Text2.Text) = ThenMsgBox 密码不能为空,请输入密码! , vbOKOnly + 48, 提示: Text2.Text = Text3.Text = Text2.SetFocusExit SubEnd IfEnd Sub如果不为空,则检查用户名是

57、否有重复,需要打开系统信息表,23Private Sub Command4_Click()J Jsqlstr = select * from UserInfo where UserID= & Text1.Text & rs.Open sqlstr, con, 1, 1End Sub如果当前记录不为空,则逐条记录检查是否有重复Private Sub Command4_Click()Userid = Trim(Text1.Text)Userpwd = MD5(Trim(Text2.Text)Username = Trim(Text4.Text) Userpower = Trim(Combo1.Te

58、xt)DelNO = rs.RecordCountDo While Not rs.EOFJ Jrs.MoveNextLoopEnd Sub如果有重复,则提示已存在这个用户,然后将焦点设置给 Text1 ,并将所有 的文本框清空。Private Sub Command4_Click()Do While Not rs.EOFIf Text1.Text = rs.Fields(UserID) ThenMsgBox 已 经 存 在 用 户 名 为 & Userid & 的 用 户 帐 号 vbInformationText1.SetFocusExit SubEnd Ifrs.MoveNextLoopr

59、s.Close: Set rs = Nothing24End Sub 如果没有重复, 再检查两次输入的密码是否一致, 如果不一致, 则提示“两次密码不一致”。Private Sub Command4_Click()If Trim(Text3.Text) Trim(Text2.Text) ThenMsgBox 两次密码不相同,请重输入! , vbOKOnly + 48, 提示: Text2.Text = Text3.Text = Text2.SetFocusExit SubEnd IfEnd Sub如果以上全部正确无误的设置好了, 则将新用户的信息添加到数据表中, 并 提示“添加新用户成功” 。

60、Private Sub Command4_Click()sqlstr = insert into UserInfo(UserID,UserPWD,UserName,UserPower) sqlstr =sqlstr & values( & Userid & , & Userpwd & , sqlstr = sqlstr & & Username & , &Userpower & ) con.Execute sqlstrMsgBox 添加用户 & Text1.Text & 成功 , vbOKOnly, 添加系统用户 Text1.Text = Text2.Text = Text3.Text = T

温馨提示

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

最新文档

评论

0/150

提交评论