职工管理系统java课程设计简单实现.docx_第1页
职工管理系统java课程设计简单实现.docx_第2页
职工管理系统java课程设计简单实现.docx_第3页
职工管理系统java课程设计简单实现.docx_第4页
职工管理系统java课程设计简单实现.docx_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

职工信息管理系统目录一、 绪论11.1关键技术介绍11.1.1JAVA技术11.1.2SQL数据库1二、需求分析2三、系统概要设计:33.1问题描述33.2要求33.3数据库设计3四、系统详细设计54.1新员工信息录入54.2显示员工信息64.3修改员工信息74.4查询员工信息94.5删除员工信息104.6员工信息排序114.7员工信息统计124.8注销13五、系统测试145.1系统登录145.2系统主界面145.3新员工信息录入155.4显示员工信息165.5修改员工信息175.6查询员工信息185.7删除员工信息195.8排列系统205.9统计界面205.10注销21六、 总结22八、 附录23职工信息管理系统设计1、 绪论1.1关键技术介绍Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。主要工作是通过编程语言来制作互联网页面、制作动态效果以及网站等技术。1.1.1JAVA技术Java是目前最为流行的程序设计语言。Java中的高级技术,其中的多线程、集合、泛型、RTTI等。实际编程中GUI程序设计、多媒体程序设计、数据库和网络程序设计。1.1.2SQL数据库数据库指的是以一定方式储存在一起、能为多个用户共享、具有尽可能小的冗余度的特点、是与应用程序彼此独立的数据集合。在经济管理的日常工作中,常常需要把某些相关的数据放进这样的“仓库”,并根据管理的需要进行相应的处理。二、需求分析职工管理系统是一个工作单位不可缺少的管理工具,它管理的数据对于公司的决策者和管理者来说都至关重要,所以职工管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来各个公司基本上都是靠传统的人工方式来管理职工信息,这种管理方式存在着许多缺点,如:效率低、保密性差,另外时间一长,将产生大量的文件和数据,这对于信息的查找、更新和维护都带来了不少的困难。当今社会,信息迅速膨胀,随着各个公司的规模增大,有关信息管理工作所涉及的数据量越来越大,职工信息量也大大增加,利用传统的手工查询、登记、修改等方法的处理速度远远跟不上公司的需求,有的公司不得不靠增加人力、物力来进行信息管理。 随着计算机技术的不断提高,计算机作为知识经济时代的产物,其强大的功能已为人们深刻认识,它已进入人类社会的各个行业和领域并发挥着越来越重要的作用,成为人们工作和生活中不可缺少的一部分。而作为计算机应用的一部分,使用计算机对职工进行管理,具有手工管理所无法比拟的优点。例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高职工管理的效率,也是公司的科学化、正规化管理和与世界接轨的重要条件。职工管理系统作为一种管理软件正在各公司中得到越来越广泛的应用,且已达到了良好效果。三、系统概要设计:3.1问题描述对单位的职工进行管理,包括插入、删除、查找、排序等功能。3.2要求职工对象包括员工号(员工号不重复),姓名(字符串),性别(字符),年龄(数字),学历(字符串),部门(字符串),工资(数字),住址(字符串),电话(数字)等信息。(1)新增一名职工:将新增职工各项资料加入数据库。(2)删除一名职工:从数据库中删除一名职工对象。(3)查询:按照员工号、姓名、部门查询已存在的员工信息。(4)修改:检索某个职工对象,对其某些属性进行修改。(5)排序:按某种需要对职工对象文件进行排序。 系统功能结构图3.3数据库设计共设计包括Manager、Employees两个表。表项如下:Manager表:员工号int姓名Char性别Char年龄int学历char部门char工资Int住址Varchar电话varcharMnager表:UsernameCharPasswordchar四、系统详细设计4.1新员工信息录入此部分在添加员工信息之前检索数据库有关表项,检查是否存在重复员工号,若存在,提示员工号码存在并停止录入操作,若不存在,则进行录入。也可通过设置数据库主键形式,对员工号的唯一性加以确认。关键代码如下:public void actionPerformed(ActionEvent e) String sql1=select EmployeeID from Employees where EmployeeID=+jTextField.getText(); ResultSet rs=DbConnection.dbQuery(sql1); tryif(rs.next()/对select结果的判断,若存在重复,则运行下面提示JOptionPane.showMessageDialog(null,该员工号码存在,请重新输入!,警告,JOptionPane.PLAIN_MESSAGE);elseString Sex=null;if(jRadioButton.isSelected()Sex=jRadioButton.getText();elseSex=jRadioButton1.getText();String DepartmentName=(String) jComboBox.getSelectedItem();String sql=insert into Employees(EmployeeID,Name,Education,Birthday,Sex,WorkYear,Address,PhoneNumber,DepartmentName,InCome,Age)values(+jTextField.getText()+,+jTextField1.getText()+,+jTextField2.getText()+,+jTextField3.getText()+,+Sex+,+jTextField8.getText()+,+jTextField4.getText()+,+jTextField5.getText()+,+DepartmentName+,+jTextField6.getText()+,+jTextField7.getText()+);int n=DbConnection.dbUpdate(sql); if(n=1) JOptionPane.showMessageDialog(null,新员工录入信息成功!,查询结果,JOptionPane.PLAIN_MESSAGE); catch(Exception se)se.printStackTrace();private JButton getJButton() if (jButton = null) jButton = new JButton();jButton.setBounds(new Rectangle(35, 531, 107, 31);jButton.setText(确定);jButton.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) );return jButton;private JButton getJButton1() if (jButton1 = null) jButton1 = new JButton();jButton1.setBounds(new Rectangle(165, 532, 107, 31);jButton1.setText(取消);jButton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) dispose();/点击取消按钮,关闭窗口);return jButton1;4.2显示员工信息此部分使用jTable显示员工各项信息。关键代码如下:private JTable getJTable() if (jTable = null) String a=new String3011;/定义数组用来存放员工信息String colname=员工号,姓名,文化程度,出生日期,性别,工作年份,地址,电话,部门,收入,年龄; int i=0;String sql=select * from Employees;ResultSet rs=DbConnection.dbQuery(sql);try while(rs.next()/a10表示第一个员工的11项信息 ai0=rs.getString(1); ai1=rs.getString(2); ai2=rs.getString(3); ai3=rs.getString(4); ai4=rs.getString(5); ai5=rs.getString(6); ai6=rs.getString(7); ai7=rs.getString(8); ai8=rs.getString(9); ai9=String.valueOf(rs.getFloat(10); ai10=String.valueOf(rs.getInt(11); i+; catch(SQLException e)e.printStackTrace();finallyDbConnection.close();jTable = new JTable(a,colname);jTable.setShowHorizontalLines(true);jTable.setShowVerticalLines(true);jTable.setBounds(new Rectangle(34, 61, 645, 342);jTable.setShowGrid(true);return jTable;public void actionPerformed(ActionEvent arg0) 4.3修改员工信息此部分包括修改员工家庭住址、部门、学历、收入、电话号码等信息。在修改信息之前,可以检索数据库检查修改人员是否存在。由于时间有限,没有设计同时修改多项纪录的操作,是本设计的不足。由于修改功能各项代码大致相似,下文只贴出修改地址的关键代码:public void actionPerformed(ActionEvent e) String sql1=select EmployeeID from Employees where EmployeeID=+jTextField.getText(); ResultSet rs=DbConnection.dbQuery(sql1); try if(rs.next()/检索输入员工是否存在的判断语句String sql=select * from Employees where EmployeeID=+jTextField.getText(); ResultSet n=DbConnection.dbQuery(sql); String sql2=update Employees set Address=+jTextField1.getText()+ where EmployeeID=+jTextField.getText();/修改员工信息的SQL语句 DbConnection.dbUpdate(sql2); JOptionPane.showMessageDialog(this,地址修改成功!,information,JOptionPane.INFORMATION_MESSAGE);elseJOptionPane.showMessageDialog(null,该员工不存在,请重新输入!,警告,JOptionPane.PLAIN_MESSAGE); catch (Exception e1) e1.printStackTrace();if(jTextField1.getText()=null)JOptionPane.showMessageDialog(null,新地址不能为空!,错误,JOptionPane.PLAIN_MESSAGE);private JButton getJButton() if (jButton = null) jButton = new JButton();jButton.setBounds(new Rectangle(70, 199, 100, 40);jButton.setText(确定);jButton.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) );return jButton;private JButton getJButton1() if (jButton1 = null) jButton1 = new JButton();jButton1.setBounds(new Rectangle(217, 199, 100, 40);jButton1.setText(取消);jButton1.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) dispose();/点击取消按钮,关闭窗口);return jButton1;private JButton getJButton2() if (jButton2 = null) jButton2 = new JButton();jButton2.setBounds(new Rectangle(364, 199, 100, 40);jButton2.setText(清除);jButton2.addActionListener(new java.awt.event.ActionListener() public void actionPerformed(java.awt.event.ActionEvent e) jTextField.setText();jTextField1.setText();/点击清除按钮,将其置空);return jButton2;4.4查询员工信息此部分包括通过员工号、姓名、部门,查询员工其他信息。在查询信息之前,可以检索数据库检查修改人员是否存在。关键代码如下:/通过员工号查询其他信息public void actionPerformed(ActionEvent e) / TODO Auto-generated method stub String sql=select * from Employees where EmployeeID=+jTextField.getText()+; ResultSet rs=DbConnection.dbQuery(sql); try if(rs.next() jTextField1.setText(rs.getString(EmployeeID); jTextField2.setText(rs.getString(Name); jTextField3.setText(rs.getString(Sex); jTextField4.setText(rs.getString(WorkYear); jTextField5.setText(rs.getString(Education); jTextField6.setText(rs.getString(DepartmentName); jTextField7.setText(rs.getString(InCome); jTextField8.setText(rs.getString(Address); jTextField9.setText(rs.getString(PhoneNumber); jTextField10.setText(rs.getString(Birthday); elseJOptionPane.showMessageDialog(null,本公司无该职工!,查找结果, JOptionPane.PLAIN_MESSAGE); catch (Exception e1) e1.printStackTrace();/通过部门名称,查询部门员工信息public void actionPerformed(ActionEvent e) / TODO Auto-generated method stubString DepartmentName=(String) jComboBox.getSelectedItem();String sql=select * from Employees where DepartmentName=+DepartmentName+;ResultSet rs=DbConnection.dbQuery(sql);int i=0; try while(rs.next() ai0=rs.getString(1); ai1=rs.getString(2); ai2=rs.getString(3); ai3=rs.getString(4); ai4=rs.getString(5); ai5=String.valueOf(rs.getInt(6); ai6=rs.getString(7); ai7=rs.getString(8); ai8=rs.getString(9); ai9=String.valueOf(rs.getFloat(10); ai10=rs.getString(11); i+; catch (Exception e1) e1.printStackTrace();private JComboBox getJComboBox() /通过下拉菜单选择部门if (jComboBox = null) jComboBox = new JComboBox();jComboBox.addItem(经理办公室);jComboBox.addItem(人力资源部);jComboBox.addItem(市场部);jComboBox.addItem(研发部);jComboBox.addItem(财务部);jComboBox.setBounds(new Rectangle(353, 19, 157, 42);jComboBox.setFont(new Font(Dialog, Font.BOLD, 18);return jComboBox;4.5删除员工信息此部分包括删除员工全部信息,删除员工地址、学历、电话等信息。由于时间有限,没有设计同时删除多项纪录的操作,是本系统的不足。在删除信息之前,可以检索数据库检查修改人员是否存在。关键代码如下:/删除员工全部信息public void actionPerformed(ActionEvent e) String sql1=select EmployeeID from Employees where EmployeeID=+jTextField.getText(); ResultSet rs=DbConnection.dbQuery(sql1); try if(rs.next()String sql=select * from Employees where EmployeeID=+jTextField.getText();DbConnection con=new DbConnection();ResultSet rs2= con.dbQuery(sql);JOptionPane.showMessageDialog(this,您确定要删除该员工的基本信息吗?,警告 ,JOptionPane.QUESTION_MESSAGE);int ok=JOptionPane.showConfirmDialog(this,基本信息将被删除!,确认 ,JOptionPane.YES_NO_OPTION,JOptionPane.INFORMATION_MESSAGE); if(e.getSource()=jButton|e.getSource()=jTextField)tryif(ok=JOptionPane.YES_OPTION)sql=Delete from Employees where EmployeeID=+jTextField.getText();con.dbUpdate(sql);JOptionPane.showMessageDialog(null,删除成功!,提示,JOptionPane.PLAIN_MESSAGE);catch(Exception e1)e1.printStackTrace();if(ok=JOptionPane.NO_OPTION)delect m=new delect();m.setEnabled(true); elseJOptionPane.showMessageDialog(null,该员工不存在,请重新输入!,警告,JOptionPane.PLAIN_MESSAGE); catch (Exception e1) / TODO Auto-generated catch blocke1.printStackTrace();4.6员工信息排序此部分包括按照员工号、工资顺序对员工信息进行排列,并通过表格的形式将信息显示出来。由于两部分代码相似,下文只给出收入排序关键代码:private JTable getJTable() if (jTable = null) String a=new String3011; String colname=EmployeeID,Name,Education,Birthday,Sex,WorkYear,Address,PhoneNumber,DepartmentName,InCome,Age; /表头显示信息int i=0;String sql=select * from Employees ORDER BY InCome DESC;ResultSet rs=DbConnection.dbQuery(sql);try while(rs.next() ai0=rs.getString(1); ai1=rs.getString(2); ai2=rs.getString(3);/ ai3=rs.getLong(rs.getDate(4); ai3=rs.getString(4); ai4=rs.getString(5); ai5=rs.getString(6); ai6=rs.getString(7); ai7=rs.getString(8); ai8=rs.getString(9); ai9=String.valueOf(rs.getFloat(10); ai10=String.valueOf(rs.getInt(11); i+; catch(SQLException e)e.printStackTrace();finallyDbConnection.close();jTable = new JTable(a,colname);jTable.setShowHorizontalLines(true);jTable.setShowVerticalLines(true);jTable.setBounds(new Rectangle(34, 61, 645,

温馨提示

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

评论

0/150

提交评论