人事管理系统(数据库课程设计)_第1页
人事管理系统(数据库课程设计)_第2页
人事管理系统(数据库课程设计)_第3页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

1、Q广条诲详大学数据库实习报告课题:人事管理系统课程名称:数据库原理及应用学生姓名:学生学号:所在专业:计算机科学与技术所在班级:指导老师:成绩:设计总说明3.1. 人事管理系统概述4.1.1研究背景4.1.2意义及目的开发4.2. 系统需求分析5.2.1开发环境和软件.5.2.2系统设计与功能分析5.3. 数据库设计6.3.1系统概念结构设计6.3.1.1系统功能模块图6.3.1.2数据流程图.7.3.2系统逻辑结构设计8.3.3物理结构设计1.04. 3.4数据库关系图1.1系统模块设计概述1.44.1用户登录模块.144.2系统管理模块.144.3信息管理模块.144.4信息查询模块.15

2、5. 4.5其他模块15系统运行与测试1.65.1用户登录165.2系统管理165.3信息管理175.4信息查询195.5其他模块205.5.1关于205.5.2计算器205.5.3退出201. 5.6优缺点自我评价20课程设计总结2.1附录(代码)22参考文献35设计总说明设计概况名称:人事管理系统用途:学校等机构2. 功能:实现对员工信息的管理与维护等功能设计说明学生学籍管理系统,可用丁学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面活晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改

3、,删除的操作。用ODBCM动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。该系统实现的大致功能:系统功能的基本要求:员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。员工各种信息的修改;对于转出、辞职、辞退、退休员工信息的删除;按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况、岗位、参加工作时间等

4、统计各自的员工信息;对查询、统计的结果打印输出。3. 本系统只实现了基本操作功能,对丁一些更大型、届性更多、关系更复杂的企业,便利性和安全性仍有不足,使用过程中造成的不便还请谅解!人事管理系统概述1.1研究背景人事管理系统是企业管理系统中不可缺少的重要组成部分,它的内容对于企业的决策者和管理者来说都至关重要,所以人事档案管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件何数据,这对于查找、更新和维护都带来了不少的困难。随着科学技术的不断提高,计算机科学日渐成熟,其强

5、大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。1.2意义及目的开发作为计算机应用的一部分,使用计算机对人事档案信息进行管理,具有着手工管理所无法比拟的优点例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事档案管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。因此,开发这样一套管理软件成为很有必要的事情。本系统针对以上缺点能够极大地提高学生信息管理的效率,也是科学化、正规化的管理与世界接轨的重要条件。所以如何自动高效地管理信息是这些年来许多人所研究的。一个健全的人事管理系统是一个学校或某个集体单位正常

6、运作的必要条件,使人事管理方便快捷而又清晰,面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效地程序结构来支持各种数据的操作的执行。实现集体单位管理系统化,规范化和自动化,从而达到提高人事管理的工作效率和工作质量的目的。系统需求分析2.1开发环境和软件本学籍采用Java语言编写前台程序,后台采用SQLServer2005软件管理数据库,调试和运行皆由EclipseSDKv3.5.0完成。2.2系统设计与功能分析系统设计的基本思想:1. 用户登录模块2. 系统管理模块1)密码修改2)重新登录3)添加/删除用户4)退出系统3. 信息管理模块1)对学校里所有员工和院系进行统一标号,将

7、每一位员工的信息保存在员工档案记录中2)对新聘的员工,将其信息加入到员工档案记录中;对丁转出、退休、辞职、辞退的员工,将其信息从员工档案记录中删除3)当员工信息发生变动时,修改员工档案记录中相应的届性4. 信息查询模块查询员工信息及院系信息5. 其他模块1)计算器2)关丁系统的说明3)退出系统功能的基本要求:员工各种信息的输入,包括员工的基本信息、学历信息、婚姻状况信息、职称等。员工各种信息的修改;对于转出、辞职、辞退、退休员工信息的删除;按照一定的条件,查询、统计符合条件的员工信息;至少应该包括每个员工详细信息的查询、按婚姻状况查询、按学历查询、按工作岗位查询等,至少应该包括按学历、婚姻状况

8、、岗位、参加工作时间等统计各自的员工信息;对查询、统计的结果打印输出。1. 数据库设计3.1系统概念结构设计3.1.1系统功能模块图人事管理系统3.1.2数据流程图B3院系信息管理数据流43.2系统逻辑结构设计画出系统E-R图图4员工实体图院系图5院系实体图图7各实体之间联系图(总体E-R图)数据库物理设计阶段的任务是根据具体计算机系统的特点,给给定的数据库系统确定合理的存储结构和存取方法。所谓的“合理”主要有两个含义:一个是要使设计出的物理数据库占用较少的存储空间,另一个对数据库的操作具有尽可能高的速度。主要体现在索引和存储结构的设置。1. 建立索引对员工信息表在届性列:员工编号上建立聚集索

9、引,在届性列:身份证号建立唯一索引;对院系信息表在届性歹0:院系编号上建立聚集索引;1. 存储过程创建不带参数的存储过程:查询在信息学院的员工的编号和姓名createprocedures2asselect员工编号,员工姓名from员工信息where院系编号=(selectfrom院系信息院系编三where院系名称='信息学院)goexecs2员工编号员工姓名2 '''李建3 9月巩2. 10陈晓创建带参数的存储过程:根据用户输入的员工编号,输出其姓名和学历createproceduresi(殴工编号int,砂工姓名nchar(10)output,堂历nchar(

10、10)output)asselectW历=学历,遂工姓名=员工姓名from员工信息where员工编号=员工编号godeclare砂工姓名nchar(10),彭历nchar(10)execsi'2',殴工姓名output,新历outputselect'员工姓名'=遂工姓名,'学历'=画历的结果I消息员工姓名学历1薛-"I本科生tlUUIMlI-IUUIMUI-IS-SI-I(1) 存储结构确定数据库的存储结构主要指确定数据的存放位置和存储结构,包括确定关系,索引,日志,备份等的存储安排及存储结构,以及确定系统存储参数的配置。将日志文件和数

11、据库(表,索引等)分别放在不同的磁盘,可以改进系统的性能,提高系统的安全性,所以,系统应将日志文件存放在不同的磁盘上。(1) 3.4数据库关系图关系模型岗位信息表(岗位编号,岗位名称):其中岗位编号为主键;用户表(管理员ID,密码):管理员ID为主键;员工信息表(员工编号,员工姓名,性别,院系编号,岗位编号,职称编号,婚姻状况,民族,学历,联系方式,住址,身份证号,工资):其中员工编号(2) 为主键,院系编号、岗位编号、职称编号均为外键;院系信息表(院系编号,院系名称):其中院系编号为主键;职称信息表(职称编号,职称名称):其中职称编号为主键。数据库表(1)岗位信息表:rm顼njDI'

12、!1IsJB院长2副院长3主任4蜻导员5其他来NULLML(2)用户表:列名数据类型允许Null值int密丹ncher(lO)列名数据类型允许Ndl值rnt员工姓名fKhar(lO)性别ndiar(lO)学历nchar(iO)院系编号int肉位偏号nt婚姻状况ndiar(lO)职称编号mt住址ndiar(lO)联系方技ndiar(12)工资money身份证号rK±iar(20)民族ndharClO)页L璋龈解豚站号位址房勰I资身胸号0奥毗生11即.1廓3C皿闿11L1U1D0044232E19SE溟2舅35-3就M磁岫3M35O1815功1C0442326195&3胸女生B5

13、律-1洵域师噌踹1欧濒1fisra.wra4423461%E汉4牡虫15朔-:】3顾54另12341.(00044232519565.鼬里瞰生45由§.213825EO557®aB23.(MK442326197C双6g5未游-1制洌磁富椰15X2K2122mmImo4423261SK7嬲里晰生75由9.1气域1破寓嘛)?1B927303392aaz.wra4423261976设8瑚舅101耘-3毗瞬翩135397904556479.0300mmg颤里靴生15由M,1回场1破膝柳159333029村1B9811COO4422461%E双w女牡生5潺”,1制尚1磁富:机斗330

14、24&502H濒顿4423361965斗、1111+里瞒生L3.1通捕1破虱.OODO442326197112善女研甦15潺-1动濒磁富撇:砒弱23356JK.OQQO442326195613瞳里瞒生5s.:气趟1破酷枷1174932223M1B2J6.3COO442328196E1431潺,3器捕触富撤5场拼?9您823WOO445326195315糊里瞒生65由M,1回域喊寓:撤1133875302162H.MCO4426261%E*颇加AUinunfUiAUI昶I舰AUI(2) 院系信息表:列名数据类型允许Null值粹调理S帽1mt口院系名称nchar1

15、0)辰系编号院系名称n信息学院2 工程学院3 法学院4 航海学院5 水产学院6 外国语学院7 政治与行欲学9农学院9 中歌艺术学院10 经济学院NL&LNLS±(5)职称信息表:一列名二I数瞬2!允许M值|?潇眺垣>nt职称nchar(lO)/_n职称编号职称a教授2 副教授3 讲0币米NULL系统模块设计概述4.1用户登录模块该模块用于管理员的登录,后台数据库的用户表中给出了三个管理员ID和相对应的密码,只有输入正确方可进入系统。4.2系统管理模块功能如下图所示:(具体见系统运行与测试此模块)4.3信息管理模块功能如下图所示:1)对学校里所有员工和院系进行统一标号,将

16、每一位员工的信息保存在员工档案记录中2)对新聘的员工,将其信息加入到员工档案记录中;对丁转出、退休、辞职、辞退的员工,将其信息从员工档案记录中删除3)当员工信息发生变动时,修改员工档案记录中相应的届性(见系统运行与测试此模块)信息首里员工信息管建院系信息管理漆加*修改,4.4信息查询模块功能如下图所示:(具体见系统运行与测试此模块)信息查询+员工信息查询-院系信息查询/4.5其他模块此模块主要用于显示此系统的运行环境、开发环境等信息,考虑到管理员可能要用到数值、统计等计算等,我们还提供了计算器。5.1用户登录5.2系统管理歪冯修理添加】«际闲户XI5.3信息管理<1丑人事萱理素

17、统至藐宣理信息管理信息萱何关于密码修改重新登陆添加,删除用户退出系统_人事苣卷洗lit理信息直向关于0"因员1W旦管理,皇本信息管啤略信息管理1员工基本信真员工基本信息管理姓名;院系编号:i职称编号:1学历:性别:联系方式:1376302783118±±住址:海大的用必界4犒13单元民族:岗位编号«?>>保存L添加L修改删除退出国人事系线管理信息管理信息查询关于员工信息管座*袪系信息管理5.4信息查询_J人事管瓣说系枷信艇信息戴1疝町融新僖息宣询1蹴啾iTJi=日星推息醐国i'i'i-基本信息查询I桐撤日:规酬号剧房砌I资身腕

18、号1哉骸男酎生iJ1海大朝13763027.11111.000044232519.2里腿35未婚2离却师.13247803.J157000044232519.汉3顺女栩生053缺碗.13968369.657300D044234619.4李睡奥IS±t151敬顺.13720M5.12341.000044232519.及5黝里臃生152雷枷.13505.902100004宓斯饵.6晒女腋生9e1缺顾.15282702.10212.000044232619.7里蹴生772锹涉.13927301.mm阪20倪,史8王明相生1Q1未揩3锹碗.13538790.6479W44252619.9博士

19、10932.000044224619.,汉10女质珏151锹倾13020.12561.000044233619.11牝+碳生2J曲2缺碗.13749572.网9.000044232519.12卫审女753缺碗.13646592.6769000044232B1B.13奥瞰生551缺碗.17493222.10276.000044232919.145-祁生342有大制&.1239473.8234.000044532619.15里麒生§53缺眦.13907530.6;14.000044262619.系花管理信宅管理信息查伺壬于员工信息查询*目院系信直P冗系信

20、JSMWl土宜imFT77,3-,rrL*1:。:11:11:*1:11:14:',】:":*:;:;'r:T:d""广iu|;M:m:-ow-,""C:i*:|i:;:;i!;E:H:-oio,w院系信息查询院系编号:院系名称s查词|院系编号院系名称1信息学院2工程学院3法学院4航海学院5水产学院6外国语学院7政治与行政学院3农学院9中歌艺术学院10经济学院5.5其他模块5.5.1关于5.5.2计算器B汁尊2S覆袤溪魏魏篷!忑裕撤豪?翁蕊跃,怎"区BackspaceCEcMC7figJ/sqrtMR456*%MS12

21、31/x0*=5.5.3退出主界面左边一列最下一个即为退出按钮。5.6优缺点白我评价优点:(1) Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势;此系统界面整洁大方,功能较强大,根据界面的布局提示,用户可快速方便地操作,考虑到用户可能要进行统计和数值运算,更加体现了人性化的设计构思;后台的数据库设计基本符合3NF的要求,表格设计了五张,每张表的属性都根据实际情况定义类型和相应的约束,基本涵盖了一个小型企业需要的信息,表和表之间的关系(外键与主键的建立)也基本符合实际要

22、求,为了便于快速查询信息,建立了聚集索引和唯一索引,也建立了有参数和无参数的存储过程;(2) 此系统只能供有权限的管理员登录与操作,提高了安全性。缺点:对于员工信息表,当时忘了加“出生日期”这一重要属性,接近尾声时才发现,可是由于时间紧迫,没有修改;(1) 五张表之间,岗位信息表和职称信息表与其他表的联系不是太密切,应当直接加入属性,也是由于时间紧迫,没有修改,照成了数据冗余;建立的存储过程在界面代码中未调用,用户只是管理员类型,没有设置具体的权限,使得其他人员无法操作;功能强大的同时,代码相应比较多,虽然注释了不少,可对于普通用户来说,看起来还是比较不方便,这些代码也照成了一定程度上的资源浪

23、费;(2) 对于员工信息的查询,只能直接显示院系、职称、岗位编号,无法显示相应的信息。6. 课程设计总结在我看来,数据库课程设计主要的目标是利用课程中学到的数据库知识和技术较好的开发设计出数据库应用系统,去解决各行各业信息化处理的要求。通过这次课程设计,可以巩固我们对数据库基本原理和基础理论的理解,掌握数据库应用系统开发的基本方法,进一步提高我们综合运用所学知识的能力。当我们先确定下来要做的题目时,并不是急着着手写程序。而是大家一起商量这个系统概述、系统目标、系统需求、业务流程分析、数据流程分析和数据词典,做好这些工作以后,我们各个组员作了一些分工。在主要功能方面我主要负责实现添加和删除用户、

24、用户密码修改的功能的实现,相对于而言,我的工作比较轻松,其中加入了一个计算器类,主要负责计数,这是一个人性化的考虑在里面。我们的分工不同,遇到的困难自然也就不一样了,我们平时都是独立做自己的那一部分,但是会及时将自己的进展告知组员,以便一个的系统的完美完成。当然我们也会集中起来探讨一下各自遇到的问题,大家共同想办法解决,搜索资料、借阅大量书本、向其他同学请教等等都是我们解决问题的方式,最终在大家的努力下,不太完美却是很认真完成的系统诞生了!辛苦在这时显得是那么苍白无力,兴奋的尽头淹没了所有的辛苦。以前也做过课程设计,但是这次的课程设计涉及到的开发工具不一样了,最主要的不一样体现在我们要用到两个

25、开发平台,我们不仅要做出前台数据库,还要与后台开发的数据库进行连接,这是一个全新的认识:我们不可能将大量的数据直接放在代码之中。对于SQL2005可以熟练的应用,主要得益于老师要求我们平时做的一些实验,所以在后台的设计和操作没有花费太多的时间,虽然平时抱怨实验太多,这个时候还是不会忘记感谢老师平时的严格要求。后台的开发对我来说真的是空前的挑战,首先涉及到的Java语言是在老师的要求下,自己在图书馆借书学得,绝对的半桶水,困难很大也很多,在组员的帮助下也算成功的克服了那些困难,得到一个圆满的结局!当我遇到错误的时候,感到很受打击;值得欣慰的是,在组员的帮助和大量参考书的查阅下,最终成功了!这次课

26、程设计让我懂得遇到困难永不放弃的重要性,我知道了团队合作的重要性,我领悟了只有坚持不懈才会取得胜利.7. 附录(代码)关于类:主要功能:显示人事管理系统的一些相关信息源代码:packagea;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;publicclassAboutextendsJInternalFrame(JLabellabel=newJLabel('运行环境:Windows");JLabellabe2=newJLabel('开发环境:JAVASQLServer");JLabel

27、labe3=newJLabel("制作人员:郝中奎、马家权、童孟丹");JLabellabe4=newJLabel("对应学号:201011621407;201011621421;201011621322");publicAbout()(setTitle("关于");Containercon=getContentPane();con.setLayout(newGridLayout(4,1);con.add(label);con.add(labe2);con.add(labe3);con.add(labe4);con.setBackgr

28、ound(Color.white);setResizable(false);setSize(380,220);setVisible(true);setClosable(true);添加和删除用户类:主要功能:用于添加和删除管理员的帐号信息源代码:packagea;importjava.awt.event.ActionEvent;importjava.awt.event.ActionListener;importjavax.swing.JButton;importjavax.swing.JComboBox;importjavax.swing.JLabel;importjavax.swing.JO

29、ptionPane;importjavax.swing.JPasswordField;importjavax.swing.JTextField;publicclassAddDeleteUserextendsjavax.swing.JInternalFrame(privateJButtonbutACancel,butDCancel,butDelete,butOk;privateJComboBoxcbUserName;privateJLabeljLabel1,jLabel2,jLabel3,jLabel4,jLabel5;privateJPasswordFieldpas1,pas2,pas3;pr

30、ivateJTextFieldtxtname;publicAddDeleteUser()initComponents();this.setVisible(true);this.setClosable(true);this.setSize(268,350);privatevoidinitComponents()jLabel1=newJLabel();jLabel2=newJLabel();jLabel3=newJLabel();txtname=newJTextField();pas1=newJPasswordField();pas2=newJPasswordField();butOk=newJB

31、utton();butACancel=newJButton();jLabel4=newJLabel();cbUserName=newJComboBox();jLabel5=newJLabel();pas3=newJPasswordField();butDelete=newJButton();butDCancel=newJButton();getContentPane().setLayout(null);jLabel1.setText("新用户名:");getContentPane().add(jLabel1);jLabel1.setBounds(30,30,70,20);j

32、Label2.setText(”输入密码:");getContentPane().add(jLabel2);jLabel2.setBounds(30,60,70,18);jLabel3.setText("确认密码:");getContentPane().add(jLabel3);jLabel3.setBounds(30,90,60,18);getContentPane().add(txtname);txtname.setBounds(100,30,130,24);getContentPane().add(pas1);pas1.setBounds(100,60,13

33、0,24);getContentPane().add(pas2);pas2.setBounds(100,90,130,24);butOk.setText("添加");getContentPane().add(butOk);butOk.setBounds(80,130,70,27);butACancel.setText("清空");getContentPane().add(butACancel);butACancel.setBounds(160,130,70,27);jLabel4.setText("已有用户名:");getConten

34、tPane().add(jLabel4);jLabel4.setBounds(30,180,80,18);getContentPane().add(cbUserName);cbUserName.setBounds(100,180,130,24);jLabel5.setText("密码:");getContentPane().add(jLabel5);jLabel5.setBounds(30,210,60,18);getContentPane().add(pas3);pas3.setBounds(100,216,130,24);butDelete.setText("

35、删除");getContentPane().add(butDelete);butDelete.setBounds(79,260,70,27);butDCancel.setText("清空");getContentPane().add(butDCancel);butDCancel.setBounds(160,260,70,27);将所有用用户名读出来Database.joinDB();Stringsql="select*from用户"try(if(Database.query(sql)(while(Database.rs.next()String

36、name=Database.rs.getString("管理员ID");cbUserName.addItem(name);catch(Exceptione)/为添加和取消按钮加事件butOk.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)if(txtname.getText().equals("")newJOptionPane().showMessageDialog(null,”用户名不能为空!");elseif(pas1.getText(

37、).equals("")newJOptionPane().showMessageDialog(null,”密码不能为空!");elseif(pas1.getText().equals(pas2.getText()Stringsql="insert用户values('"+txtname.getText()+"','"+pas1.getText()+"')"tryif(Database.executeSQL(sql)newJOptionPane().showMessageDia

38、log(null,”添加成功!");cbUserName.addItem(txtname.getText();catch(Exceptionea);butACancel.addActionListener(newActionListener()publicvoidactionPerformed(ActionEvente)txtname.setText("");pas1.setText("");pas2.setText(""););/为删除和取消按钮加事件butDelete.addActionListener(newActio

39、nListener()(publicvoidactionPerformed(ActionEvente)(Stringname=""+cbUserName.getSelectedItem();Stringsql="select*from用户where管理员ID='"+name+""'try(if(Database.query(sql)Database.rs.next();Stringpas=pas3.getText();Stringpassword=Database.rs.getString("密码"

40、);System.out.println(password);if(pas.equals(password)Stringsdelete="deletefrom用户where管理员ID='"+name+""'if(Database.executeSQL(sdelete)newJOptionPane().showMessageDialog(null,”删除成功!");pas3.setText("");cbUserName.removeAllItems();Stringsql1="select*from用

41、户"if(Database.query(sql1)while(Database.rs.next()Stringname1=Database.rs.getString("管理员ID");cbUserName.addItem(name1);elsenewJOptionPane().showMessageDialog(null,"密码不正确!");catch(Exceptionel)System.out.println(el););butDCancel.addActionListener(newActionListener()publicvoidac

42、tionPerformed(ActionEvente)pas3.setText(""););用户修改密码类:主要功能:用于修改相应管理员帐号的密码源代码:packagea;importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;publicclassAmendPasswordextendsJInternalFrameJLabellbe1=newJLabel("修改密码");JPanelp=newJPanel();publicAmendPassword()se

43、tTitle("修改密码");p.add(lbe1);AmendPanelpanel=newAmendPanel();ContainercontentPane=getContentPane();contentPane.add(p,"North");contentPane.add(panel,"Center");setBounds(100,100,280,260);this.setClosable(true);setVisible(true);classAmendPanelextendsJPanelJButtonb1,b2;JLabel

44、lbe2,lbe3,lbe4,lbe5;JPasswordFieldpas1,pas2,pas3;JComboBoxtf;publicAmendPanel()lbe2=newJLabel("用户名:");lbe3=newJLabel("输入旧密码:”);lbe4=newJLabel("输入新密码:");lbe5=newJLabel("确定新密码:");tf=newJComboBox();pas1=newJPasswordField();pas2=newJPasswordField();pas3=newJPasswordFie

45、ld();b1=newJButton("确定");b2=newJButton("清空");add(lbe2);lbe2.setBounds(16,10,90,25);this.add(tf);tf.setBounds(100,10,120,25);add(lbe3);lbe3.setBounds(16,45,90,25);add(pas1);pas1.setBounds(100,45,120,25);add(lbe4);lbe4.setBounds(16,80,80,25);add(pas2);pas2.setBounds(100,80,120,25);

46、add(lbe5);lbe5.setBounds(16,115,80,25);add(pas3);pas3.setBounds(100,115,120,25);add(b1);b1.setBounds(100,160,60,30);add(b2);b2.setBounds(160,160,60,30);setLayout(null);将所有用用户名读出来Database.joinDB();Stringsql="select*from用户"tryif(Database.query(sql)while(Database.rs.next()Stringname=Database.

47、rs.getString(”管理员ID");tf.addItem(name);catch(Exceptione)/为确定取消按钮加事件b1.addActionListener(newActionListener()(publicvoidactionPerformed(ActionEvente)(Stringname=""+tf.getSelectedItem();System.out.println(name);Stringsql="select*from用户where管理员ID='"+name+""'Sys

48、tem.out.println(sql);try(if(Database.query(sql)Database.rs.next();Stringps1=pas1.getText();Stringpassword=Database.rs.getString("密码");if(ps1.equals(password)if(pas2.getText().equals(pas3.getText()Stringsupdate="update用户set密码='"+pas3.getText()+"'where管理员ID='"

49、+name+""'Database.executeSQL(supdate);newJOptionPane().showMessageDialog(null,”密码更改成功!");elsenewJOptionPane().showMessageDialog(null,"两次密码不同!");elsenewJOptionPane().showMessageDialog(null,"旧密码不正确!");catch(Exceptionel)System.out.println(el););b2.addActionListene

50、r(newActionListener()publicvoidactionPerformed(ActionEvente)pas1.setText("");pas2.setText("");pas3.setText(""););计算器类主要功能:计算功能源代码:packagea;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.io.*;importjava.sql.*;publicclassCalculatorextendsJInternalF

51、rameimplementsActionListener(privateJTextFielddisplayText=newJTextField();privateJButtonbuttonTag=newJButton();privateJButtonbuttonBackspace=newJButton("Backspace");privateJButtonbuttonCe=newJButton("CE");privateJButtonbuttonc=newJButton("C");privateJButtonbutton=newJBu

52、tton24;privateStringkeys="MC”,”7”,”8”,”9”,7”,"sqrt”,"MR”,”4”,”5”,”6”,"*”,”%”,"MS”,”1”,”2”,”3”,”-”,”1/x”,"M+","0”,"+/-”,”.”,"+",”="privateStringnumStr1="”;privateStringnumStr2="”;privateStringnumsave=""privatecharop;priva

53、tebooleanfirstInput=true;privatebooleanoperatorTag1=true;privatebooleanoperatorTag2=true;publicCalculator()setTitle("计算器");setSize(345,265);Containerpane=getContentPane();pane.setLayout(null);displayText.setHorizontalAlignment(JTextField.RIGHT);displayText.setSize(320,30);displayText.setLo

54、cation(10,10);pane.add(displayText);buttonTag.setSize(60,30);buttonTag.setLocation(10,50);pane.add(buttonTag);buttonBackspace.setSize(110,30);buttonBackspace.setLocation(90,50);buttonBackspace.setForeground(Color.red);buttonBackspace.addActionListener(this);pane.add(buttonBackspace);buttonCe.setSize

55、(65,30);buttonCe.setLocation(200,50);buttonCe.setForeground(Color.red);pane.add(buttonCe);buttonc.setSize(65,30);buttonc.setLocation(265,50);buttonc.setForeground(Color.red);buttonc.addActionListener(this);pane.add(buttonc);intx,y;x=10;y=85;for(intind=0;ind<24;ind+)buttonind=newJButton(keysind);b

56、uttonind.addActionListener(this);buttonind.setLocation(x,y);if(ind%6=0|ind%6=5)buttonind.setSize(60,30);x=x+60;elsebuttonind.setSize(50,30);x=x+50;if(ind%6=0|ind%6=4|ind%24=23)buttonind.setForeground(Color.red);elsebuttonind.setForeground(Color.blue);pane.add(buttonind);if(ind+1)%6=0)(x=10;y=y+30;se

57、tVisible(true);this.setClosable(true);publicvoidactionPerformed(ActionEvente)(StringresultStr="”;Stringstr=String.valueOf(e.getActionCommand();charch=str.charAt(0);if(str.equals("0”)|str.equals("1”)|str.equals("2”)|str.equals("3”)|str.equals("4”)|str.equals("5”)|str.equals("6”)|str.equals("7”)|str.equals("8”)|str.equals("9”)|str.equals(".”)if(firstInput)(numStr1=numStr1+ch;displayText.setText(numStr1);elsenumStr2=numStr2+ch;displayText.setText(numStr2);elseif(str.equals("+")|str.equals("-

温馨提示

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

评论

0/150

提交评论