员工信息管理系统课程设计
运算机科学与工程学院
课程设计报告
设计名称: 《数据库原理与应用》课程设计 设计题目: 企业职员信息治理设计与开发 学生学号: 1305120411 专业班级: 2013级网络工程01 学生姓名: 何彬 学生成绩: 指导教师(职称): 刘晓华(副教授) 完成时刻: 2015-11-19~2015.12.10
武汉工程大学运算机科学与工程学院 制 讲明:
1、报告中的第一、二、三项由课程设计负责人在课程设计开始前填写并发给每个学生;四、五两项(中英文摘要)由学生在完成课程设计后填写。
2、学生成绩由指导教师按照学生的设计情形给出各项分值及总评成绩。
3、指导教师评语一栏由指导教师就学生在整个课程设计期间的表现、设计完成情形、报告的质量等方面给出客观、全面的评判。
4、训练报告正文字数应许多于3000字,也可由指导教师按照本门课程设计的具体情形酌情增加字数或内容。
5、平常表现成绩低于6分的学生,其课程设计成绩按不及格处理。 6、此表格式为武汉工程大学运算机科学与工程学院提供的差不多格式(适用于学院各项课程设计),各教研室可按照本项课程设计的特点及内容做适当的调整,并上报学院批准。
成绩评定表
学生姓名: 何彬 学号: 1305120411 班级: 网络工程01 类不 平常表现 设计完成情形 合计 各项分值 分值 10 10 评分标准 遵守学习纪律,表现良好,主动完成课程设计任务,无旷课、迟到、早退等情形。 按照要求完成设计内容,方案合理,功能完善,实际合计得分 得分 备注 20 设计工作量饱满,能运用专业知识和技能去发觉40 20 与解决实际咨询题。 在设计过程中展现出了较强的学习能力、动手实践能力、团队协作能力和创新意识。 报告格式规范,表述清晰,章节内容组织恰当。 15 符号统一,图表完备,符合规范要求。参考文献数量在5篇以上,格式及引用符合要求。 报告内容翔实,结构严谨合理。课题背景介绍清 报告质量 50 15 晰,综述充分。设计与实现等要紧过程完整,论述具体透彻。能运用所学专业知识对咨询题加以分析和求解。无抄袭现象。 设计报告对整个设计过程进行了全面总结,体现了收成,得出了有价值的结论或结果。 20 总评成绩 指导教师评语 指导教师: (签字) 日期: 年 月 日 一、课程设计目的、条件、任务和内容要求: 《数据库原理与应用》是专业基础课,数据库技术广泛应用于运算机的多个进展方向上。在学好数据库理论的同时,我们有必要把握数据库设计的方法。《数据库原理与应用》课程设计是数据库教学中的实践环节,是对该课程知识的综合应用。通过设计,使学生巩固所学的理论基础知识,把握数据库设计的全过程和方法,培养学生编写技术文档及开发数据库应用系统的能力。提升学生独立分析咨询题、解决咨询题的能力,锤炼和加大学生的动手能力。 设计任务书提供三个设计题目供学生选择(原则上选择每个题目的人数不超过10人)。在指导教师同意的情形下,学生也能够自己选择感爱好的设计题目,以调动学生的主动性和制造性,给学生充分的自主空间。 设计内容要求: (1)通过系统的功能分析和数据分析进行系统的功能模块设计,数据库的概念结构设计(E-R图),数据库的逻辑结构设计,数据库中的表、视图、储备过程、函数的结构和定义。 (2)报告还要包括程序的运行环境、开发环境、程序的详细设计(要紧功能实现的程序源代码)。 (3)后台数据库选用SQL SERVER,前台开发工具不限,可自己选择VB、VC、JAVA等都能够。建议条件承诺的情形下选择JAVA。 (4)整个课程设计期间,要求学生必须与指导老师经常保持联系,其中几个要紧时期都要经指导老师批阅,一是为了及时发觉咨询题,防止显现原则错误,二是便于指导老师把握学生独立完成设计的情形。
二、进度安排: 数据库原理课程设计共计3周内完成,共计20个学时。第l3周下达课程设计任务书,并对每个课程任务进行详细的讲解。同时第13周开始进行系统调研,完成需求分析,包括数据分析和功能分析;第14-15周完成数据库设计、数据库实施和应用程序设计;第15周周四上午1-4节检查课程设计完成情形。 提交报告时刻:第16周周四下午。 三、应收集资料及要紧参考文献: [1]徐孝凯.数据库基础与SQL Server应用开发[M].北京:清华大学出版社,2008. [2]朱福喜.面向对象与Java程序设计[M].北京:清华大学出版社,2009. [3]孙浏毅.Java宝典[M].北京:电子工业出版社,2009. [4]王国辉.Java数据库系统开发案例精选[M].北京:人民邮电出版社,2007. [5]伍俊良.课程设计与系统开发案例[M].北京:清华大学出版社,2003. [6]何旭洪.数据库系统开发实例导航[M].北京:人民邮电出版社,2003. [7]陈刚.MyEclipse从入门到熟知[M].北京:清华大学出版社,2005. [8]钞票雪忠主编.数据库原理及应用[M] 北京邮电大学出版社,2007. [9] Bain.SQL server 2000数据仓库与Analysis Services[M].中国电力出版社,2003 [10]王珊.数据库系统概论[M].高等教育出版社,2014. [11]景楠.Java Web 应用开发:J2EE 和 Tomcat[M].北京:清华大学出版社,2004. [12]陈雄华.Spring 企业级应用开发详解[M] 北京:电子工业出版社 ,2009. 四、摘要: 随着运算机技术的飞速进展,运算机在企业治理中应用得到普及,不仅是在企业中,在学校利用运算机实现治理势在必行。企业治理系统是现在企业治理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。运算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.运算机代替人工处理一些事务已成为必定。整个人类社会已进入高度信息化,人们对信息和数据的利用和处理差不多进入自动化、网络化和社会化的时期。本系统是一个结合小型企业实际情形、具体制度的实际需求,采纳功能强大的Java作为开发工具、SQL作为数据库而开发出来的人事治理系统。能完成人事治理的差不多功能,包括系统治理、系统信息治理、数据信息查询、数据信息扫瞄,本系统能够满足企业简单人事治理的需要。系统具有友好的界面,操作方便等优点。 关键词:SQL数据库;综合测评治理;Java 五、Abstract: With the rapid development of computer technology, computer application in enterprise management has been widely used, not only in the enterprise, it is imperative to use computer to achieve management in schools. Enterprise management system is an indispensable part of enterprise management, and it is a necessary condition to meet the requirements of the enterprise system. It is a necessary condition to promote the labor and personnel to the scientific and standardized. With its powerful performance, the computer has brought great convenience to people's work, study and life. The whole human society has entered a high degree of information, people's use of information and data has entered a stage of automation, networking and socialization. This system is a combination of the actual situation of small enterprises, the actual needs of the specific system, the use of powerful Java as a development tool, SQL as the database and the development of the personnel management system. To complete the basic functions of personnel management, including system management, system information management, data query, data browsing, the system can meet the needs of the enterprise's simple personnel management which has friendly interface, convenient operation and so on. Keywords:SQL database;integrated appraisal management; Java 目 录
摘 要 II
Abstract III
第一章 课题概述 - 1 - 1.1 课题背景 - 1 - 1.2 设计内容 - 1 -
第二章 设计简介及设计方案论述 2.1 设计简介 - 2 - 2.2 设计方案 - 2 - 第三章 详细设计 - 3 - 3.1 数据库设计 - 3 -
3.2 界面和功能设计(关键代码)第四章 设计结果及分析 - 39 - 4.1 系统功能结果及分析 - 39 -
4.2 职员治理功能实现结果及分析总 结 - 41 - 致 谢 - 43 - 参考文献 - 44 -
- 2 -
- 3 - - 39 -
摘 要
随着运算机技术的飞速进展,运算机在企业治理中应用得到普及,不仅是在企业中,在学校利用运算机实现治理势在必行。企业治理系统是现在企业治理工作不可缺少的一部分,是适应现在企业制度的要求,是推动企业劳动人事走向科学化、规范化的必要条件。运算机以其强大的性能价格优势给人们的工作、学习和生活带来极大的方便.运算机代替人工处理一些事务已成为必定。整个人类社会已进入高度信息化,人们对信息和数据的利用和处理差不多进入自动化、网络化和社会化的时期。本系统是一个结合小型企业实际情形、具体制度的实际需求,采纳功能强大的Java作为开发工具、SQL作为数据库而开发出来的人事治理系统。能完成人事治理的差不多功能,包括系统治理、系统信息治理、数据信息查询、数据信息扫瞄,本系统能够满足企业简单人事治理的需要。系统具有友好的界面,操作方便等优点。
关键词:SQL数据库;综合测评治理;Java
Abstract
With the rapid development of computer technology, computer application in enterprise management has been widely used, not only in the enterprise, it is imperative to use computer to achieve management in schools. Enterprise management system is an indispensable part of enterprise management, and it is a necessary condition to meet the requirements of the enterprise system. It is a necessary condition to promote the labor and personnel to the scientific and standardized. With its powerful performance, the computer has brought great convenience to people's work, study and life. The whole human society has entered a high degree of information, people's use of information and data has entered a stage of automation, networking and socialization. This system is a combination of the actual situation of small enterprises, the actual needs of the specific system, the use of powerful Java as a development tool, SQL as the database and the development of the personnel management system. To complete the basic functions of personnel management, including system management, system information management, data query, data browsing, the system can meet
the needs of the enterprise's simple personnel management which has friendly interface, convenient operation and so on.
Keywords:SQL database;integrated appraisal management; Java
第一章 课题概述 1.1 课题背景
本系统是一个结合小型企业实际情形、具体制度的实际需求,采纳功能强大的Java作为开发工具、SQL作为数据库而开发出来的人事治理系统。能完成人事治理的差不多功能,包括系统治理、系统信息治理、数据信息查询、数据信息扫瞄。
设计内容
通过对一些典型的人事治理系统的考察、分析,要求本系统实现设计统一友好的操作界面,能保证系统的易用性,同时规范、完善的基础信息设置,对信息进行全面治理以及功能强大的查询功能,以方便治理员查询各种信息。
1.信息需求分析:
(1)职员差不多信息:职工号、姓名、性不、工资、家庭住址、联系电话。
(2)职职员资差不多信息:职工号、姓名、性不、工资。 2.功能需求分析:
(1)登录信息治理:显现欢迎界面。
(2)职员信息查询:按职工号对姓名、性不、年龄、家庭住址、联系电话的查询。
(3) 职职员资查询:按工资、职工号、性不、和工资分不对职职员资进行查询。
(4) 扫瞄职员信息:扫瞄职员信息个人差不多信息和工资信息。 (5)工资信息治理功能:对职工号、姓名、性不、工资进行查询和修改。 (6)互动:治理人员和使用人员之间的互动。
(7)职员信息治理功能:治理职员的有关信息。包括职员的查询,添加,删除,修改以及扫瞄职员的差不多信息和工资信息。
第二章 设计简介及设计方案论述 2.1 设计简介
企业职员治理系统是企业和事业单位常见的运算机信息治理系统,它的要紧任务是对职员信息进行日常的治理,如职员信息的输入、查询、修改、增加、删除,迅速准确地完成职员信息的统计和运算和汇总,快速打印出报表。利用java语言和SQL开发出一个企业职员信息治理系统,开发那个系统的步骤要紧有系统分析、系统设计、系统的实现。在系统的设计中,详细的展现了系统的各个模块和菜单的设计等。在系统的实现中将会在菜单栏将会列出相应的功能和操作选项,提供了专门好的人机对话界面。
2.2设计方案 2.2.1 系统框架设计图 本系统需要实现职员信息包括职员姓名,性不和职职员资信息的输入、退出职工管理职工查询帮助工资管理查询、修改、增加、删除、输出等功能,使用简单友好的界面完成职员信企业化信息管理系统开发与设计息的治理,要紧功能和系统实现的框架如图2.1所示。
图 2.1 员工信息系统功能图添加职工修改职工删除职工工号查询姓名查询添加工资修改工资查询工资
表 2-1 员工信息表 列名E_ID备注职工编号职工姓名数据类型char(10)varchar(20)允许NULL值 NOT NULL NOT NULL2.2.2 设计方案论述 E_Name1.企业信息治理系统职员信息表,表中包括职员编号、姓名、性不、年E_Sexchar(2) NOT NULL职工性别E_Agechar(4) NOT NULL职工年龄龄、家庭住址、联系电话,以及各个列名的数据类型,职员信息表如表2-E_Address1所示: E_Tel家庭住址联系电话varchar(50)char(20)NOT NULL NOT NULL表 2-2 员工工资表列名E_ID备注职工编号职工工资数据类型char(10)允许NULL值 NOT NULL NOT NULL 2.职职员资治理中应当包括职员编号和工资以及各个列名的数据类型,工资信息表如表2-2所示: E_Salaryvarchar(20) 表 2-3 员工工资查询表列名E_ID备注职工编号数据类型char(10)允许NULL值 NOT NULL3.职职员资查询表中应当包括职员编号、姓名和工资以及各个列名的数E_Name职工姓名varchar(20) NOT NULL据类型,职职员资查询表如表2-3所示: E_Salary职工工资varchar(20)表 2-4 员工信息查询表 NOT NULL
4.职员信息查询表中应当包括职员编号和职员姓名以及各个列的数据类型,职员信息查询表如表2-4所示: E_Name职工姓名n工资员工工资第三章 详细设计 获取列名备注数据类型char(10)编号允许NULL值NOT NULLNOT NULLE_ID编号职工编号姓名varchar(20)1员工信息年龄 性别3.1 数据库设计 联系电家庭住(1)企业职员信息的E-R图表示职员治理的概念模型如图3.1所示: 姓名备注话址 图 3.1 员工信息E-R图
(2)数据库关系图,要紧显示职员信息治理中的主外键之间的关系如图3.2所示:
图 3.2 数据库关系图
3.2界面和功能设计(关键代码)
(1)连接数据库类DBConnect.java,该类要紧实现java环境和数据库之间的连接,以便实现数据库中的数据能够被调用和增加或者修改。
public class DBConnect //创建数据库连接类DBConnect { //静态方法提升数据库的连接效率
public static Connection getConn() throws Exception { //加载JDBC驱动
Class.forName(\"com.microsoft.sqlserver.jdbc.SQLServerDriver\"); //以系统默认用户身份,连接数据库Employee
return DriverManager.getConnection(\"jdbc:sqlserver://localhost:143
3;DatabaseName=Employee\
} }
(2) 登陆界面和主界面框架MainFrame.java,使用该类能够完成菜单栏的设计包括退出系统,职员治理下的子菜单有添加职员、修改职员、删除职员,工资治理下的子菜单有添加工资、修改工资、工资查询,查询功能子菜单下有工号查询、姓名查询以及关心菜单栏。
//创建主框架类MainFrame
public class MainFrame extends JFrame implements ActionListener { //创建内容面板 JPanel contentPane; //创建菜单栏组件的对象
JMenuBar jMenuBar1=new JMenuBar();//菜单条 JMenu jMenu0=new JMenu(\"系统\");//菜单
JMenuItem jMenuItem0=new JMenuItem(\"退出\");//子菜单 JMenu jMenu1=new JMenu(\"职工治理\");
JMenuItem jMenuItem1=new JMenuItem(\"添加职工\"); JMenuItem jMenuItem2=new JMenuItem(\"修改职工\"); JMenuItem jMenuItem3=new JMenuItem(\"删除职工\"); JMenu jMenu2=new JMenu(\"工资治理\");
JMenuItem jMenuItem4=new JMenuItem(\"添加工资\"); JMenuItem jMenuItem5=new JMenuItem(\"修改工资\"); JMenuItem jMenuItem8=new JMenuItem(\"工资查询\"); JMenu jMenu3=new JMenu(\"职工查询\");
JMenuItem jMenuItem6=new JMenuItem(\"按工号查询\"); JMenuItem jMenuItem7=new JMenuItem(\"按姓名查询\"); JMenu jMenu4=new JMenu(\"关心\");
JMenuItem jMenuItem9=new JMenuItem(\"互动\");
//创建标签,用于显示信息
JLabel jLabel1=new JLabel(\"职工和工资治理小系统\"); JLabel jLabel2=new JLabel(\"网络工程01班 何彬\"); //创建构造方法 public MainFrame() { }
//界面初始化方法
private void jbInit() throws Exception {
//创建内容面板
contentPane =(JPanel) getContentPane(); //设置内容面板的布局为空 contentPane.setLayout(null); //主框架的大小
setSize(new Dimension(400,360)); //主框架的标题
setTitle(\"职工和工资治理小系统\"); //添加事件监听器
jMenuItem0.addActionListener(this); try{ }
catch(Exception exception){ }
exception.printStackTrace(); //关闭框架窗口时的默认事件方法
setDefaultCloseOperation(EXIT_ON_CLOSE); //调用初始化方法 jbInit();
jMenuItem1.addActionListener(this); jMenuItem2.addActionListener(this); jMenuItem3.addActionListener(this); jMenuItem4.addActionListener(this); jMenuItem5.addActionListener(this); jMenuItem6.addActionListener(this); jMenuItem7.addActionListener(this); jMenuItem8.addActionListener(this); jMenuItem9.addActionListener(this); //添加菜单条到主框架 setJMenuBar(jMenuBar1); //添加菜单到菜单条 jMenuBar1.add(jMenu0); jMenuBar1.add(jMenu1); jMenuBar1.add(jMenu2); jMenuBar1.add(jMenu3); jMenuBar1.add(jMenu4); //添加菜单项到菜单 jMenu0.add(jMenuItem0); jMenu1.add(jMenuItem1); jMenu1.add(jMenuItem2); jMenu1.add(jMenuItem3); jMenu2.add(jMenuItem4); jMenu2.add(jMenuItem5); jMenu2.add(jMenuItem8); jMenu3.add(jMenuItem6); jMenu3.add(jMenuItem7); jMenu4.add(jMenuItem9); //添加标签到主框架内容面板
}
contentPane.add(jLabel1); contentPane.add(jLabel2); //设置标签组件的大小和字体
jLabel1.setFont(new java.awt.Font(\"黑体\ jLabel1.setBounds(new Rectangle(65,70,275,55));
jLabel2.setFont(new java.awt.Font(\"黑体\ jLabel2.setBounds(new Rectangle(90,150,200,35));
//菜单项事件对应的处理方法
public void actionPerformed(ActionEvent actionEvent) {
//点击“系统”菜单下的“退出”菜单项 if(actionEvent.getSource()==jMenuItem0) { }
//点击“职工治理”菜单下的“修改职工”菜单项 if(actionEvent.getSource()==jMenuItem2) { }
//点击“职工治理”菜单下的“删除职工”菜单项 if(actionEvent.getSource()==jMenuItem3) {
//创建“修改职工”面板对象
ModifyEmployee ModifyEmp=new ModifyEmployee(); this.remove(this.getContentPane()); //加载“修改职工”面板的对象到主框架 this.setContentPane(ModifyEmp); this.setVisible(true); System.exit(0);
}
//创建“删除职工”面板对象
DeleteEmployee DeleteEmp=new DeleteEmployee(); this.remove(this.getContentPane()); //加载“删除职工”面板的对象到主框架 this.setContentPane(DeleteEmp); this.setVisible(true);
//点击“工资治理”菜单下的“添加工资”菜单项 if(actionEvent.getSource()==jMenuItem4) { }
//点击“工资治理”菜单下的“修改工资”菜单项 if(actionEvent.getSource()==jMenuItem5) { }
//点击“工资治理”菜单下的“工资查询”菜单项 if(actionEvent.getSource()==jMenuItem8)
//创建工资修改的面板对象
ModifySalary ModifySal=new ModifySalary(); this.remove(this.getContentPane()); //加载工资修改面板的对象到主框架 this.setContentPane(ModifySal); this.setVisible(true); //创建工资添加的面板对象
AddSalary AddSal=new AddSalary(); this.remove(this.getContentPane()); //加载工资添加面板的对象到主框架 this.setContentPane(AddSal); this.setVisible(true);
{ }
//点击“职工查询”菜单下的“按工号查询”菜单项 if(actionEvent.getSource()==jMenuItem6) { }
//点击“职工查询”菜单下的“按姓名查询”菜单项 if(actionEvent.getSource()==jMenuItem7) { }
//点击“关心”菜单下的“互动”菜单项
//创建“按姓名查询”面板对象
InquireOnName OnName=new InquireOnName(); //移除主框架上原有的内容 this.remove(this.getContentPane()); this.setContentPane(OnName); this.setVisible(true);
//创建“按工号查询”面板对象 InquireOnID OnID=new InquireOnID(); //移除主框架上原有的内容 this.remove(this.getContentPane()); this.setContentPane(OnID); this.setVisible(true); //创建工资修改的面板对象
SalaryInquire SalaryInq=new SalaryInquire(); this.remove(this.getContentPane()); //加载工资修改面板的对象到主框架 this.setContentPane(SalaryInq); this.setVisible(true);
} }
if(actionEvent.getSource()==jMenuItem9) { }
//创建“关心”面板对象
EmployeeHelp EmployeeH=new EmployeeHelp(); //移除主框架上原有的内容 this.remove(this.getContentPane()); this.setContentPane(EmployeeH); this.setVisible(true);
(3)添加职工类AddEmployee.java,该类中要紧使用事件的动作和侦听方法来实现对按钮的侦听,设置按钮和文本框方便信息填写,判定输入信息的准确性,提示用户,同时调用数据库,以完成职员信息的录入。
//创建“添加职工“面板类
public class AddEmployee extends JPanel implements ActionListener {
// 声明连接数据库对象 Connection con; // 声明SQL语句对象 Statement st;
// 创建组件对象:标签、文本行、单选 JLabel jLabel1 = new JLabel(\"职工工号\"); JLabel jLabel2 = new JLabel(\"职工姓名\"); JLabel jLabel3 = new JLabel(\"职工性不\"); JLabel jLabel4 = new JLabel(\"职工年龄\"); JLabel jLabel5 = new JLabel(\"家庭住址\");
JLabel jLabel6 = new JLabel(\"联系电话\"); JTextField jTextField1 = new JTextField(); JTextField jTextField2 = new JTextField(); JTextField jTextField3 = new JTextField(); JTextField jTextField4 = new JTextField(); JTextField jTextField5 = new JTextField();
JRadioButton jRadioButton1 = new JRadioButton(\"男\"); JRadioButton jRadioButton2 = new JRadioButton(\"女\"); ButtonGroup buttonGroup1 = new ButtonGroup(); JButton jButton1 = new JButton(\"添加职工\");
// 构造方法
public AddEmployee() { }
try { }
// 调用初始化方法 jbInit();
exception.printStackTrace();
} catch (Exception exception) {
// 界面初始化方法
private void jbInit() throws Exception {
// 连接数据库
con = DBConnect.getConn(); st = con.createStatement(); // 框架的布局
this.setLayout(null); // 设置各组件的大小
jLabel1.setBounds(new Rectangle(21, 17, 64, 24)); jLabel2.setBounds(new Rectangle(21, 51, 53, 22)); jLabel3.setBounds(new Rectangle(21, 86, 61, 27)); jLabel4.setBounds(new Rectangle(21, 122, 59, 25)); jLabel5.setBounds(new Rectangle(21, 168, 54, 24)); jLabel6.setBounds(new Rectangle(21, 205, 54, 24)); jTextField1.setBounds(new Rectangle(102, 10, 200, 30)); jTextField2.setBounds(new Rectangle(102, 49, 200, 30)); jTextField3.setBounds(new Rectangle(102, 117, 80, 33)); jTextField4.setBounds(new Rectangle(102, 163, 200, 29)); jTextField5.setBounds(new Rectangle(102, 200, 200, 29)); jRadioButton1.setBounds(new Rectangle(102, 83, 65, 30)); jRadioButton2.setBounds(new Rectangle(190, 85, 85, 30)); jButton1.setBounds(new Rectangle(130, 240, 150, 32)); // 设置单选按钮被选中 jRadioButton1.setSelected(true); // 添加按钮动作事件
jButton1.addActionListener(this); // 添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jLabel2); this.add(jTextField2); this.add(jLabel3);
buttonGroup1.add(jRadioButton1); buttonGroup1.add(jRadioButton2); this.add(jRadioButton1);
}
this.add(jRadioButton2); this.add(jLabel4); this.add(jTextField3); this.add(jLabel5); this.add(jTextField4); this.add(jLabel6); this.add(jTextField5); this.add(jButton1);
// 点击按钮事件
public void actionPerformed(ActionEvent e) {
// 猎取用户输入的信息
String EmployeeID = jTextField1.getText(); String EmployeeName = jTextField2.getText(); String EmployeeSex = \"\"; if (jRadioButton1.isSelected())
EmployeeSex += \"男\"; EmployeeSex += \"女\"; if (jRadioButton2.isSelected())
String EmployeeAge = jTextField3.getText(); String EmployeeAddress = jTextField4.getText(); String EmployeePhone = jTextField5.getText(); try {
// 设置日期格式
st.execute(\"set dateformat ymd\");
// 利用st对象执行SQL语句,进行插入操作
st.executeUpdate(\"insert into Employee values('\" + EmployeeI
D + \"','\" + EmployeeName + \"','\" + EmployeeSex
} }
}
+ \"','\" + EmployeeAge + \"','\" + EmployeeAddress +
\"','\" + EmployeePhone + \"')\");
// 利用消息对话框提示职工添加成功
JOptionPane.showMessageDialog(this, \"职工添加成功!\"); // 清空文本行的内容 jTextField1.setText(\"\"); jTextField2.setText(\"\"); jTextField3.setText(\"\"); jTextField4.setText(\"\"); jTextField5.setText(\"\");
// 利用消息对话框提示专门的信息
JOptionPane.showMessageDialog(this, \"职工添加失败!\"); ex.printStackTrace();
} catch (Exception ex) {
(4) 修改职员信息 ModifyEmployee.java,该类中要紧使用事件的动作和侦听方法来实现对按钮的侦听,设置按钮和文本框方便信息修改,判定输入信息的准确性,提示用户,同时调用数据库,以完成职员信息的修改。
public class ModifyEmployee extends JPanel implements ActionListener
{
//声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st;
//创建组件对象:标签、文本行、单选
JLabel jLabel1=new JLabel(\"请输入职工的编号:\"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"查找该职工\"); JLabel jLabel2=new JLabel(\"职工编号:\"); JTextField jTextField2=new JTextField(); JLabel jLabel3=new JLabel(\"职工姓名:\"); JTextField jTextField3=new JTextField(); JLabel jLabel4=new JLabel(\"职工性不:\"); JTextField jTextField4=new JTextField(); JLabel jLabel5=new JLabel(\"职工年龄:\"); JTextField jTextField5=new JTextField(); JLabel jLabel6=new JLabel(\"家庭住址:\"); JTextField jTextField6=new JTextField(); JLabel jLabel7=new JLabel(\"联系电话:\"); JTextField jTextField7=new JTextField();
JButton jButton2=new JButton(\"修改职工信息\"); //构造方法
public ModifyEmployee() { }
//面板初始化方法
try{ }
catch(Exception exception){ }
exception.printStackTrace(); //调用初始化方法 jbInit();
private void jbInit() throws Exception {
//连接数据库
con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小
jLabel1.setFont(new java.awt.Font(\"楷体\ jLabel1.setBounds(new Rectangle(40,15,140,30)); jTextField1.setBounds(new Rectangle(185,15,120,30)); jButton1.setBounds(new Rectangle(110,55,150,30)); jLabel2.setFont(new java.awt.Font(\"楷体\ jLabel2.setBounds(new Rectangle(20,105,80,30)); jTextField2.setBounds(new Rectangle(100,105,80,30)); jLabel3.setFont(new java.awt.Font(\"楷体\ jLabel3.setBounds(new Rectangle(190,105,80,30)); jTextField3.setBounds(new Rectangle(270,105,80,30)); jLabel4.setFont(new java.awt.Font(\"楷体\ jLabel4.setBounds(new Rectangle(20,145,80,30)); jTextField4.setBounds(new Rectangle(100,145,80,30)); jLabel5.setFont(new java.awt.Font(\"楷体\ jLabel5.setBounds(new Rectangle(190,145,80,30)); jTextField5.setBounds(new Rectangle(270,145,80,30)); jLabel6.setFont(new java.awt.Font(\"楷体\ jLabel6.setBounds(new Rectangle(20,185,80,30)); jTextField6.setBounds(new Rectangle(100,185,80,30)); jLabel7.setFont(new java.awt.Font(\"楷体\ jLabel7.setBounds(new Rectangle(190,185,80,30));
}
jTextField7.setBounds(new Rectangle(270,185,80,30)); jButton2.setBounds(new Rectangle(120,240,150,30)); //添加按钮动作事件
jButton1.addActionListener(this); jButton2.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jButton1); this.add(jLabel2); this.add(jTextField2);
jTextField2.setEditable(false); this.add(jLabel3); this.add(jTextField3); this.add(jLabel4); this.add(jTextField4); this.add(jLabel5); this.add(jTextField5); this.add(jLabel6); this.add(jTextField6); this.add(jLabel7); this.add(jTextField7); this.add(jButton2);
//点击按钮事件
public void actionPerformed(ActionEvent actionevent) {
//点击“查找该职工”按钮
if(actionevent.getSource()==jButton1)
{ try{ //利用st对象执行SQL语句,返回结果集对象
ResultSet rs=st.executeQuery(\"select * from Employee where 职工编号='\"+jTextField1.getText()+\"'\");
职工!\"); 败!\");
//处理结果集 if(rs.next()) { jTextField2.setText(rs.getString(\"职工编号\")); jTextField3.setText(rs.getString(\"职工姓名\")); jTextField4.setText(rs.getString(\"职工性不\")); jTextField5.setText(rs.getString(\"职工年龄\")); jTextField6.setText(rs.getString(\"家庭住址\")); jTextField7.setText(rs.getString(\"联系电话\")); }
else
{ JOptionPane.showMessageDialog(this,\"没有那个工号的 }
}
catch(Exception ex){ //利用消息对话框提示查询失败
JOptionPane.showMessageDialog(this,\"职工信息修改失
}
}
//点击“修改工资”按钮
if(actionevent.getSource()==jButton2)
\");
败!\");
} } }
{
//猎取用户更换的工资 try{
//利用st对象执行SQL语句,进行插入操作
st.executeUpdate(\"update Employee set 职工姓名='\"+jTextst.executeUpdate(\"update Employee set 职工性不='\"+jTextst.executeUpdate(\"update Employee set 职工年龄='\"+jTextst.executeUpdate(\"update Employee set 家庭住址='\"+jTextst.executeUpdate(\"update Employee set 联系电话='\"+jText//利用消息对话框提示职工信息修改成功
JOptionPane.showMessageDialog(this,\"职工信息修改成功!}
catch(Exception ex){
//利用消息对话框提示专门的信息
JOptionPane.showMessageDialog(this,\"职工信息修改失ex.printStackTrace(); }
Field3.getText()+\"' where 职工编号='\"+jTextField2.getText()+\"'\"); Field4.getText()+\"' where 职工编号='\"+jTextField2.getText()+\"'\"); Field5.getText()+\"' where 职工编号='\"+jTextField2.getText()+\"'\"); Field6.getText()+\"' where 职工编号='\"+jTextField2.getText()+\"'\"); Field7.getText()+\"' where 职工编号='\"+jTextField2.getText()+\"'\");
(5) 删除职员DeleteEmployee.java,该类中要紧使用事件的动作和侦听方法来实现对按钮的侦听,设置按钮和文本框方便信息填写,判定输入信息的准确性,提示用户,同时调用数据库,以完成职员信息的删除。
public class DeleteEmployee extends JPanel implements ActionListener
{
//声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st; //创建组件对象
JLabel jLabel1=new JLabel(\"请输入待删除的职工的编号\"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"删除\"); //构造方法
public DeleteEmployee() { }
//界面初始化方法
private void jbInit() throws Exception {
try{ }
catch(Exception exception){ }
exception.printStackTrace(); //调用初始化方法 jbInit();
}
//连接数据库
con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小
jLabel1.setFont(new java.awt.Font(\"黑体\ jLabel1.setBounds(new Rectangle(70,20,200,30)); jTextField1.setBounds(new Rectangle(70,80,207,41)); jButton1.setBounds(new Rectangle(70,175,205,36)); //添加按钮动作事件
jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jButton1);
//点击按钮事件
public void actionPerformed(ActionEvent e) {
//猎取用户输入的职工编号
String EmployeeID=jTextField1.getText(); //要求用户确认删除
if(JOptionPane.showConfirmDialog(this,\"确认要删除吗?\")==JOpt{ try{
//利用st对象执行SQL删除操作
ionPane.YES_OPTION)
成功!\");
败!\");
} }
}
st.executeUpdate(\"delete from Employee where 职工编号//利用消息对话框提示删除操作成功
JOptionPane.showMessageDialog(this,\"职工删除操作,执行//清空输入学号的文本行 jTextField1.setText(\"\"); }
='\"+EmployeeID+\"'\");
catch(Exception ex){
//利用消息对话框提示不能删除
JOptionPane.showMessageDialog(this,\"职工删除操作,执行失}
(6) 按编号查询职员InquireOnID.java,该类中要紧使用事件的动作和侦听方法来实现对按钮的侦听,设置按钮和文本框方便信息填写,判定输入编号的准确性,提示用户,提供了专门好的人机交互界面,同时调用数据库,以完成职员信息的查询结果显示。
public class InquireOnID extends JPanel implements ActionListener {
//声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st;
//创建组件对象:标签、文本行、单选
JLabel jLabel1=new JLabel(\"请输入职工的编号:\"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"查找\"); JTextArea jTextArea1=new JTextArea(); //构造方法
public InquireOnID() { }
//面板初始化方法
private void jbInit() throws Exception {
//连接数据库
con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小
jLabel1.setFont(new java.awt.Font(\"黑体\ jLabel1.setBounds(new Rectangle(46,4,222,32)); jTextField1.setBounds(new Rectangle(47,37,247,31)); jButton1.setBounds(new Rectangle(47,86,247,30)); jTextArea1.setBounds(new Rectangle(24,130,305,109)); try{ }
catch(Exception exception){ }
exception.printStackTrace(); //调用初始化方法 jbInit();
}
//添加按钮动作事件
jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jTextArea1); this.add(jButton1);
//点击按钮事件
public void actionPerformed(ActionEvent e) {
//猎取输入的职工的编号
String EmployeeID=jTextField1.getText(); //清空文本区原有的内容 jTextArea1.setText(\"\"); try{
//利用st对象执行SQL语句,返回结果集对象
ResultSet rs=st.executeQuery(\"select * from Employee where//处理结果集 if(rs.next()) {
jTextArea1.setText(\"职工编号:\"+rs.getString(\"职工编号\")+\"
职工编号='\"+EmployeeID+\"'\");
\\n\"+\"职工姓名:\"+rs.getString(\"职工姓名\")+\"\\n\"+\"职工性不:\"+rs.getString(\"职工性不\")+\"\\n\"+\"职工年龄:\"+rs.getString(\"职工年龄\")+\"\\n\"+\"家庭住址:\"+rs.getString(\"家庭住址\")+\"\\n\"+\"联系电话:\"+rs.getString(\"联系电话\")+\"\\n\");
} else {
工!\");
} }
} }
JOptionPane.showMessageDialog(this,\"没有那个工号的职
catch(Exception ex){
//利用消息对话框提示查询失败
JOptionPane.showMessageDialog(this,\"职工查询失败!\"); }
(7)按姓名查询职员InquireOnName.java,该类中要紧使用事件的动作和侦听方法来实现对按钮的侦听,设置按钮和文本框方便信息填写,判定输入姓名的准确性,提示用户,提供了专门好的人机交互界面,同时调用数据库,以完成职员信息的查询结果显示。
public class InquireOnName extends JPanel implements ActionListener {
//声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st;
//创建组件对象:标签、文本行、单选
JLabel jLabel1=new JLabel(\"请输入职工的姓名:\"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"查找\"); JTextArea jTextArea1=new JTextArea(); //构造方法
public InquireOnName() {
}
try{ }
catch(Exception exception){ }
exception.printStackTrace(); //调用初始化方法 jbInit();
//面板初始化方法
private void jbInit() throws Exception //连接数据库 {
con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小
jLabel1.setFont(new java.awt.Font(\"黑体\ jLabel1.setBounds(new Rectangle(46,4,222,32)); jTextField1.setBounds(new Rectangle(47,37,247,31)); jButton1.setBounds(new Rectangle(47,86,247,30)); jTextArea1.setBounds(new Rectangle(24,130,305,109)); //添加按钮动作事件
jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jTextArea1); this.add(jButton1);
}
//点击按钮事件
public void actionPerformed(ActionEvent e) {
//猎取输入的职工的姓名
String EmployeeName=jTextField1.getText(); //清空文本区原有的内容 jTextArea1.setText(\"\"); try{
//利用st对象执行SQL语句,返回结果集对象
ResultSet rs=st.executeQuery(\"select * from Employee where//处理结果集 if(rs.next()) {
jTextArea1.setText(\"职工编号:\"+rs.getString(\"职工编号\")+\"
职工姓名='\"+EmployeeName+\"'\");
\\n\"+\"职工姓名:\"+rs.getString(\"职工姓名\")+\"\\n\"+\"职工性不:\"+rs.getString(\"职工性不\")+\"\\n\"+\"职工年龄:\"+rs.getString(\"职工年龄\")+\"\\n\"+\"家庭住址:\"+rs.getString(\"家庭住址\")+\"\\n\"+\"联系电话:\"+rs.getString(\"联系电话\")+\"\\n\");
工!\");
} }
//利用消息对话框提示查询失败
JOptionPane.showMessageDialog(this,\"职工查询失败!\"); } else {
JOptionPane.showMessageDialog(this,\"没有那个工号的职
catch(Exception ex){
} }
}
(8) 增加职职员资AddSalary.java,该类中要紧使用事件的动作和侦听方法来实现对按钮的侦听,设置按钮和文本框方便信息填写,判定输入编号和姓名的准确性,提示用户是否存在该职员,提供了专门好的人机交互界面,同时调用数据库,以完成职职员资的添加。
public class AddSalary extends JPanel implements ActionListener {
//声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st;
//创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(\"职工工号\"); JLabel jLabel2=new JLabel(\"职工工资\"); JTextField jTextField1=new JTextField(); JTextField jTextField2=new JTextField(); JButton jButton1=new JButton(\"添加工资\"); //构造方法 public AddSalary() {
try{ }
catch(Exception exception){
//调用初始化方法 jbInit();
}
}
exception.printStackTrace();
//界面初始化方法
private void jbInit() throws Exception { }
//点击按钮事件
public void actionPerformed(ActionEvent e) {
//连接数据库
con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小
jLabel1.setBounds(new Rectangle(21,17,64,24)); jLabel2.setBounds(new Rectangle(21,51,53,22)); jTextField1.setBounds(new Rectangle(102,10,200,30)); jTextField2.setBounds(new Rectangle(102,60,200,30)); jButton1.setBounds(new Rectangle(130,120,150,32)); //添加按钮动作事件
jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jLabel2); this.add(jTextField2); this.add(jButton1);
} }
//猎取用户输入的信息
String EmployeeID=jTextField1.getText(); String EmployeeSalary=jTextField2.getText(); try{ }
catch(Exception ex){ }
//利用消息对话框提示专门的信息
JOptionPane.showMessageDialog(this,\"工资添加失败!\"); ex.printStackTrace();
//利用st对象执行SQL语句,进行插入操作
st.executeUpdate(\"insert into Salary values('\"+EmployeeID+\"','//利用消息对话框提示工资添加成功
JOptionPane.showMessageDialog(this,\"工资添加成功!\"); //清空文本行的内容 jTextField1.setText(\"\"); jTextField2.setText(\"\");
\"+EmployeeSalary+\"')\");
(9) 修改职职员资ModifySalary.java,该类中要紧使用事件的动作和侦听方法来实现对按钮的侦听,设置按钮和文本框方便信息填写,判定输入编号的准确性,提示用户是否存在该职员,保证信息的准确性,提供了专门好的人机交互界面,同时调用数据库,以完成职职员资的修改。
public class ModifySalary extends JPanel implements ActionListener {
//声明连接数据库对象
Connection con; //声明SQL语句对象 Statement st;
//创建组件对象:标签、文本行、单选
JLabel jLabel1=new JLabel(\"请输入职工的编号:\"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"查找该职工\"); JLabel jLabel2=new JLabel(\"职工编号:\"); JTextField jTextField2=new JTextField(); JLabel jLabel3=new JLabel(\"职工工资:\"); JTextField jTextField3=new JTextField(); JButton jButton2=new JButton(\"修改工资\"); //构造方法
public ModifySalary() { }
//面板初始化方法
private void jbInit() throws Exception {
//连接数据库
con=DBConnect.getConn(); st=con.createStatement(); try{ }
catch(Exception exception){ }
exception.printStackTrace(); //调用初始化方法 jbInit();
}
//框架的布局 this.setLayout(null); //设置各组件的大小
jLabel1.setFont(new java.awt.Font(\"楷体\ jLabel1.setBounds(new Rectangle(40,25,140,30)); jTextField1.setBounds(new Rectangle(185,25,120,30)); jButton1.setBounds(new Rectangle(110,65,120,30)); jLabel2.setFont(new java.awt.Font(\"楷体\ jLabel2.setBounds(new Rectangle(90,125,80,30)); jTextField2.setBounds(new Rectangle(170,125,80,30)); jLabel3.setFont(new java.awt.Font(\"楷体\ jLabel3.setBounds(new Rectangle(90,160,80,30)); jTextField3.setBounds(new Rectangle(170,160,80,30)); jButton2.setBounds(new Rectangle(120,200,100,30)); //添加按钮动作事件
jButton1.addActionListener(this); jButton2.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jButton1); this.add(jLabel2); this.add(jTextField2);
jTextField2.setEditable(false); this.add(jLabel3); this.add(jTextField3); this.add(jButton2);
//点击按钮事件
public void actionPerformed(ActionEvent actionevent) { 职工!\");
\");
}
}
}
catch(Exception ex){
//利用消息对话框提示查询失败
JOptionPane.showMessageDialog(this,\"工资修改失败!}
//点击“查找该职工”按钮
if(actionevent.getSource()==jButton1) {
//猎取输入的职工的编号
String EmployeeID=jTextField1.getText(); try{
//利用st对象执行SQL语句,返回结果集对象
ResultSet rs=st.executeQuery(\"select * from Salary where//处理结果集 if(rs.next()) { {
JOptionPane.showMessageDialog(this,\"没有那个工号的jTextField2.setText(rs.getString(\"职工编号\")); jTextField3.setText(rs.getString(\"职工工资\")); }
职工编号='\"+EmployeeID+\"'\");
else
\");
} }
//点击“修改工资”按钮
if(actionevent.getSource()==jButton2) { }
//猎取用户更换的工资 try{
//利用st对象执行SQL语句,进行修改操作
st.executeUpdate(\"update Salary set 职工工资='\"+jTextFiel//利用消息对话框提示工资修改成功
JOptionPane.showMessageDialog(this,\"工资修改成功!\"); }
catch(Exception ex){
//利用消息对话框提示专门的信息
JOptionPane.showMessageDialog(this,\"工资修改失败!ex.printStackTrace(); }
d3.getText()+\"' where 职工编号='\"+jTextField2.getText()+\"'\");
(9)职职员资查询SalaryInquire.java,该类中要紧使用事件的动作和侦听方法来实现对按钮的侦听,设置按钮和文本框方便信息填写,判定输入编号的准确性,同时能够查询所有职员的工资信息,同时提示用户以便确认信息的准确性,提供了专门好的人机交互界面,同时调用数据库,以完成职职员资信息的查询结果显示。
public class SalaryInquire extends JPanel implements ActionListener {
//声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st;
//创建组件对象:标签、文本行、单选
JLabel jLabel1=new JLabel(\"请输入要查询的职工的编号:\"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"工资查询\"); JTextArea jTextArea1=new JTextArea(); //构造方法
public SalaryInquire() { try{ //调用初始化方法 jbInit();
}
catch(Exception exception){ exception.printStackTrace(); }
}
//面板初始化方法
private void jbInit() throws Exception { //连接数据库
con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null);
//设置各组件的大小 }
jLabel1.setFont(new java.awt.Font(\"黑体\ jLabel1.setBounds(new Rectangle(46,4,222,32)); jTextField1.setBounds(new Rectangle(47,37,247,31)); jButton1.setBounds(new Rectangle(47,86,247,30)); jTextArea1.setBounds(new Rectangle(24,130,305,109)); //添加按钮动作事件
jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jTextArea1); this.add(jButton1);
//点击按钮事件
public void actionPerformed(ActionEvent e) {
//猎取输入的职工的编号
String EmployeeID=jTextField1.getText(); //清空文本区原有的内容 jTextArea1.setText(\"\"); try{
//利用st对象执行SQL语句,返回结果集对象
ResultSet rs=st.executeQuery(\"select * from Salary where ID//处理结果集 if(rs.next()) {
jTextArea1.setText(\"ID:\"+rs.getString(\"ID\")+\"\\n\"+\"Salar
='\"+EmployeeID+\"'\");
y:\"+rs.getString(\"Salary\")+\"\\n\");
} }
} else { } }
//利用消息对话框提示查询失败
JOptionPane.showMessageDialog(this,\"工资查询失败!\"); }
JOptionPane.showMessageDialog(this,\"该工号的职工没有
工资记录!\");
catch(Exception ex){
(10) 职员关心EmployeeHelp.java,该类中则是创建一个差不多的面板布局,显示作者的信息,方便系统显现咨询题时能够及时联系数据库治理人员解决咨询题。
public class EmployeeHelp extends JPanel {
//创建组件对象:标签
JLabel jLabel1=new JLabel(\"有咨询题,请你联系作者:\"); JLabel jLabel4=new JLabel(\"何彬\");
JLabel jLabel2=new JLabel(\"QQ:783360014\"); //构造方法
public EmployeeHelp() {
try{
//调用初始化方法
}
}
jbInit();
catch(Exception exception){ }
exception.printStackTrace();
//初始化
private void jbInit() throws Exception { } }
//框架的布局 this.setLayout(null); //设置各组件的大小
jLabel1.setFont(new java.awt.Font(\"楷体\ jLabel1.setBounds(new Rectangle(50,50,300,30));
jLabel4.setFont(new java.awt.Font(\"楷体\ jLabel4.setBounds(new Rectangle(50,90,150,30));
jLabel2.setFont(new java.awt.Font(\"楷体\ jLabel2.setBounds(new Rectangle(50,140,300,30));
jLabel3.setFont(new java.awt.Font(\"楷体\ jLabel3.setBounds(new Rectangle(50,180,300,30)); //添加组件到面板 this.add(jLabel1); this.add(jLabel2); this.add(jLabel3); this.add(jLabel4);
第四章 设计结果及分析 4.1 系统功能结果及分析
(1) 简单清晰的登陆界面,显示系统名称和作者信息,菜单采纳折叠形式,方便用户扫瞄子菜单,将各个功能和子模块分类,系统菜单中有退出,职工治理中有添加职工、修改职工、删除职工,工资治理中有添加工资、修改工资、工资查询,职工查询中有按工号查询、按姓名查询,关心菜单中有互动,从而高效的实现信息的扫瞄、查找、增加、删除和修改,如图4.1所示:
图 4.1 主界面显示图
(2) 系统的关心功能则是显示作者信息,方便用户在使用系统显现咨询题时能够及时联系治理员,及时解决咨询题,同时使用完系统后能够安全的退出系统,防止意外产生,如图4.2所示:
图 4.2 系统爱护图
4.2职员治理功能实现结果及分析
(1) 添加职员信息时仍旧在主界面显示添加菜单栏,幸免页面跳转太多,添加成功时则会显示出职工添加成功的信息,以提示用户添加成功,如若添加失败则会显示职工添加失败的信息框,提供专门好人机交互界面,方便使用,如图4.3所示:
图 4.3 添加职员信息图
(2) 修改职员信息时,输入正确的职员编号时点击查找该职工就会显示出该职员的全部差不多信息,现在就能够专门方便的修改该职员的差不多信息,点击修改职工信息,则会显示出职工信息修改成功的信息框,如若输入错误的职员编号,则不能修改该职员信息,会显示出没有那个工号的职工的信息框。如图4.4所示:
图 4.4 修改职员信息图
(3) 删除职员信息时输入该职员的编号,点击删除按钮,第一会显示出警告的文本框以提示用户是否确认删除,点击是按钮后则会显示职工删除操作执行成功,点击否则取消此次删除操作,同时如输入错误的职员编号,则会显示出没有那个工号的职工,表明此次删除操作失败。如图4.5所示:
图 4.5删除职员信息图
(4) 添加职职员资时,输入该职员的编号,则能够在文本框中输入职职员资,添加成功后会显示出工资添加成功的消息提示用户,如若输入的职员编号错误或者该职员差不多添加过工资则会显示工资添加失败的消息,提示用户重新输入。如图4.6所示:
图 4.6 添加职职员资图
(5) 修改职职员资时输入该职员的编号,点击查询该职工即可显示出该职员的职工编号和职工工资,输入修改的工资,成功后会显示出工资修改成功的消息框。如若输入职员的编号错误,则会显示出没有那个工号的职工的消息框,表明此次修改职职员资失败,请重新输入职员编号。图4.7所示:
图 4.7 修改职职员资图
(6)职职员资查询时输入该职员的编号,点击工资查询按钮则能够查询出该职员的编号、姓名和工资,如若输入错误的编号则会显示出该工号的职工没有工资记录的信息框。提示用户重新输入,如图4.8所示:
图 4.8 职职员资查询图
(7) 对职员信息进行查询按姓名查找,输入正确的姓名时,点击查找按钮,则会显示该职员的所有差不多信息包括职工编号、职工姓名、职工性不、职工年龄、职工工资、家庭住址、联系电话。如若有多人姓名一样,则都会显示在文本框中。如若输入错误的职工姓名,则会显示没有那个姓名的职工的信息框。如图4.9所示:
图 4.9 职员信息查询图
(8) 对职员信息进行查询按编号查找,输入正确编号时,点击查找按钮,则会显示该职员的所有差不多信息包括职工编号、职工姓名、职工性不、职工年龄、职工工资、家庭住址、联系电话。如若输入错误的职工编号,则会显示没有那个工号的职工的信息框。如若编号错误则会显示没有该工号的职员提示框。如图4.10所示:
图 4.10 职员信息查询图 总 结
本系统开发的技术难点要紧有两个方面:一是业务逻辑的明白得;二是数据库逻辑结构的设计。业务逻辑是依据企业职员治理系统的行业特点和需要来进行设计的。只有在准确明白得一个系统的业务逻辑之后才可能
开发出适应其应用的应用系统来,同时在系统之间模块的科学划分与结构组织。数据库设计是应用系统开发的另一个难点,只有科学的数据库设计才能使系统具有良好的结构及良好的可编程性、可扩展性。数据库设计是直截了当阻碍系统运行情形及程序设计的一个重要因素。因此在开发有关数据库方面的治理系统时,都需要充分考虑到科学性,结构性,规范性,安全性,可扩展等有关咨询题。
在编制过程中,我们第一考虑到了界面的友好性,并在界面设计时不采纳繁琐的细节,使界面简单、清晰、便于操作。在做界面设计时,只能进行简单的查询操作而不能对数据进行添加、删除、修改等操作。为了满足企业人事治理系统的需求,例如公司新来了职员治理员该如何该职员的信息到数据库中,如何删除一个差不多辞职的职员信息,职员又该如何查询自己每月的工资信息,如此我们写了专门多类,有职员信息添加类、删除类、修改类、扫瞄类、查询类,职职员资修改类,按条件查询职员信息类等10个类。这些类差不多实现了对系统的治理。
尽管这次课程设计付出了大量的时刻,然而我们得到的收成远不止这些时刻能够衡量的,它将给我们今后的学习和工作带来更多的收益。通过对此课题的开发,使得我们对java开发系统和数据库系统有了一个比较清晰的认识,同时也体会到理论和实践相结合的重要性。由于我们的分析设计和程序体会不足,程序还有许多功能没有实现。关于工资的运算部分,其功能实现起来比较苦恼而且代码比较复杂,我们所学的知识有限,试了几次都没达到预期的成效,最后不得不舍弃,在查询工资部分,实现的功能比较少,没有详细的实现如何查询工资在多少的男的或女的有多少人,在一定的年龄范畴内工资大于或少于某值的又有多少人等;代码部分写的也比较简单,没有什么复杂难明白的,以至于子模块中有专门多类似的代码,如职员信息添加和部门信息添加部分代码都大同小异。该程序不足之处还有专门多,都有待于进一步完善和提升。
此次课程设计对我是一次专门好的演练和实践的机会。是培养独立摸索咨询题和自学能力的锤炼,使我意识到必须努力学习才能才工作中体现自己的价值,适应社会的需要。
致 谢
这次课程设计(企业职员信息治理系统设计与开发)是在刘老师的精心教诲和在同学的关心和指导下完成的。第一我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和关心,这是我能顺利完成这次报告的要紧缘故,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。
通过此次设计把自己所学到的java和数据库的理论知识转化为实际应用,通过设计这款小型的企业职员治理软件,其中包括对Eclipse和Microsoft Office Visio这两款软件的使用,在老师的教诲下,差不多熟练的使用这些软件,锤炼了我的实际动手能力,同时也使我的理论知识得到加大,更加巩固了课本知识。摸索、解决咨询题的能力得到提升。通过此次课程设计让我意识到把握一门语言的重要性及其广泛应用。
最后感谢运算机学院为我们提供了宝贵的机会和地点,衷心感谢各位老师和同学们的关心!
参考文献
[1]徐孝凯.数据库基础与SQL Server应用开发[M].北京:清华大学出版社,2008.
[2]朱福喜.面向对象与Java程序设计[M].北京:清华大学出版社,2009.
[3]孙浏毅.Java宝典[M].北京:电子工业出版社,2009.
[4]王国辉.Java数据库系统开发案例精选[M].北京:人民邮电出版社,2007.
[5]伍俊良.课程设计与系统开发案例[M].北京:清华大学出版社,2003.
[6]何旭洪.数据库系统开发实例导航[M].北京:人民邮电出版社,2003. [7]陈刚.MyEclipse从入门到熟知[M].北京:清华大学出版社,2005. [8]钞票雪忠主编.数据库原理及应用[M].北京邮电大学出版社,2007. [9]Bain.SQL server 2000数据仓库与Analysis Services[M].中国电力出版社,2003.
[10]王珊.数据库系统概论[M].高等教育出版社,2014.
[11]蔡剑.Java Web 应用开发:J2EE 和 Tomcat[M].北京:清华大学出版社,2004.
[12]陈雄华.Spring 企业级应用开发详解[M].北京:电子工业出版社 ,2009.
因篇幅问题不能全部显示,请点此查看更多更全内容