欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOCX文档下载  

    数据库课程设计企业工资管理系统.docx

    • 资源ID:3560016       资源大小:44.59KB        全文页数:37页
    • 资源格式: DOCX        下载积分:6.99金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要6.99金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    数据库课程设计企业工资管理系统.docx

    数据库课程设计企业工资管理系统得分: 课程设计报告 企业工资管理系统 姓名 班级 学号 课程名称 指导教师 XXX XXXXX XXXXXX 数据库原理及应用 201X年X月X日 目 录 一工资管理系统需求分析 1.1功能需求 1.1.1功能划分 1.1.2功能描述 1.2性能需求 1.3数据流图 二.总体设计 2.1数据库概念设计 2.2功能模块 三.系统详细设计 3.1数据库逻辑设计 3.2各模块功能 3.2.1职工信息管理系统 3.2.2职工工资管理系统 3.2.3职工津贴管理系统 四.系统实现 4.1界面截图 4.1.1主界面及工资基本信息界面 4.1.2登录界面 4.1.3系统主界面 4.1.4信息录入,修改,删除,查询界面 4.2设计代码 五.实验总结 1、 需求分析 1.1 功能需求 1.1.1功能划分 (1)、员工信息表;及时反映员工的基本信息 (2)、员工津贴表,反映员工津贴 (3)、员工基本工资表 1.1.2 功能描述 (1)、基本工资的设定 (2)、津贴的设定 (3)、计算出月工资 (4)、录入员工工资信息 (5)、添加员工工资信息 、更改员工工资信息 1.2性能需求 此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后3位小数,即是精确到分的计算。但在用户使用过程中,能自行根据实际情况进行小数计算精度的设定,最大能允许保留小数点后5位的精度。在时间特性上,当用户发出命令请求时的服务器的响应时间、对数据更新处理、工资数据的查询检索等上,同样要求系统响应时间不会超过0.5秒时间。系统支持多种操作系统的运行环境,多不同操作系统,不同文件格式的磁盘上的数据均能实现信息的互通,及共享。当服务器移植到其他的系统平台,如:Linux平台下时,同样能和其他的系统进行数据存取同步,不会出现系统之间互不兼容的情况,系统支持多系统之间的互连互通,系统有巨大的强健性。本课程设计是用Java语言编写,mysql数据库。 1.3数据流图 根据工资管理要求及用户需求调查分析,得到以下数据流图 图1.1第一层数据流图 1 添加操作 输入职工基本信息 用户 修改职工信息 修改操作 工资表 删除职工记录 删除操作 职工号 查询操作 图1.2职工信息的载入 添加操作 用户 修改操作 津贴表 删除操作 查询操作 图1.4考勤的信息载入 2.总体设计 2.1数据库概念设计 有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图 2 职工号 密码 员工 领取 津贴 姓名 姓名 津贴 职工号 影响 m 领取 职工号 1 n 工资 基本工资 姓名 图2.1实体之间关系E-R图 3 2.2功能模块 工资管理系统 系统模块 工资管理模块 职工 登 陆模 块 员工管理模块 3系统详细设计 3.1数据库逻辑设计 将以上E-R转换成如下关系模式 员工 工资 津贴 其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。 工资信息管理系统数据库中各个表格的设计结果如下面的几个表格所示。每个表格表示在数据库中的一个表。 表一:员工信息表: 列名 no name mi 数据类型 Char ( 8 ) Char Smallint 可否取空 NOT NULL NOT NULL NOT NULL 备注说明 职工号 职工姓名 登录密码 4 表二:基本工资表: 列名 no name Jb 数据类型 Char ( 8 ) Char money 可否取空 NOT NULL NOT NULL NOT NULL 备注说明 职工号 职工姓名 基本工资 表四:津贴信息表 列名 no name Jt 数据类型 Char ( 8 ) Char money 可否为空 NOT NULL NOT NULL NOT NULL 备注说明 职工号 职工姓名 津贴 3.2各模块功能 3.2.1职工信息管理系统 功能为:财务部门相关人员录入、修改、删除、查询员工个人信息 3.2.2职工工资管理系统 功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总; 3.2.3职工登陆查询系统 功能为:员工本人能通过用户名和密码查询自己的信息以及修改自己的密码; 4.系统实现 4.1界面截图 4.1.1主界面 5 4.1.2登录界面 4.1.3管理员管理工资界面 4.1.4信息录入,修改,删除,查询界面 6 4.1.5职工信息查询界面 4.1.6职工密码修改界面 7 4.2设计代码 DB.java package wage_management; import java.awt.*; import java.awt.event.*; import javax.swing.*; class DB extends JFrame implements ActionListener JFrame frame = new JFrame("欢迎进入企业工资管理系统"); JLabel label = new JLabel("", JLabel.CENTER); JButton button1 = new JButton("进入系统"); JButton button2 = new JButton("退出系统"); ImageIcon im = new ImageIcon("1.jpg"); JLabel a1 = new JLabel(im); void Create JPanel pcontentPane = (JPanel) frame.getContentPane; pcontentPane.add(a1); pcontentPane.add(label); pcontentPane.setLayout(new FlowLayout); pcontentPane.add(button1); pcontentPane.add(button2); pcontentPane.setVisible(true); button1.addActionListener(this); button2.addActionListener(this); 8 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack; frame.setBounds(200, 100, 550, 180); frame.setVisible(true); public static void main(String args) DB dome = new DB; dome.Create; public void actionPerformed(ActionEvent e) if (button1.equals(e.getSource) DL dl = new DL; dl.create; frame.dispose; if (button2.equals(e.getSource) / 退出 System.exit(0); 登陆 DL.java package wage_management; import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; 9 import javax.swing.JPasswordField; import javax.swing.JTextField; import com.mysql.jdbc.PreparedStatement; import Query.Querypad; class DL extends JFrame implements ActionListener ImageIcon im = new ImageIcon("2.jpg"); JLabel a2 = new JLabel(im); JFrame frame = new JFrame("职工/管理员登陆"); JLabel label1 = new JLabel("用户名"); JLabel label2 = new JLabel("密码"); JButton logonButton1 = new JButton("管理员登录"); JButton logonButton2 = new JButton("职工登录"); JButton cancelButton = new JButton("退出"); JTextField username = new JTextField(9); JPasswordField password = new JPasswordField(9); static String t1; static String t2; void create JPanel p = (JPanel) frame.getContentPane; JPanel p1 = new JPanel; p.setLayout(new FlowLayout); p.add(a2); p.add(label1); p.setSize(5, 5); p.setLocation(4, 8); p.add(username); p.setSize(100, 200); p.setLocation(800, 800); p.add(label2); p.setSize(50, 20); p.setLocation(40, 80); p.add(password); p.setSize(100, 20); p.setLocation(80, 120); 10 p.add(logonButton1); p.add(logonButton2); p.add(cancelButton); p.setBackground(Color.cyan); p.setVisible(true); logonButton1.addActionListener(this); logonButton2.addActionListener(this); cancelButton.addActionListener(this); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack; frame.setBounds(200, 100, 500, 220); frame.setVisible(true); public void actionPerformed(ActionEvent e) t1 = username.getText; t2 = password.getText; if(e.getSource=logonButton1) if( username.getText.equals("admin") = true && (password.getText.equals("admin") = true) JOptionPane.showMessageDialog(this, "登录成功!"); GZGLZJM gz = new GZGLZJM; gz.create; frame.dispose; else JOptionPane.showMessageDialog(null, "输入用户名或密码错误!"); if (e.getSource=logonButton2) try 11 Connection con; Statement ps; ResultSet rs; String sql = null; Class.forName("org.gjt.mm.mysql.Driver"); Class.forName("org.gjt.mm.mysql.Driver").newInstance; con = DriverManager.getConnection( "jdbc:mysql:/localhost:3306/wage management","root","jxb"); sql="select * from workerinfo where name='"+t1+"' and mi='"+t2+"'" ps=(PreparedStatement) con.prepareStatement(sql); rs = ps.executeQuery(sql); if(rs.next) if(rs.getString("name").equals(t1) && rs.getString("mi").equals(t2) YGDLJM yg = new YGDLJM; yg.create; frame.dispose; JOptionPane.showMessageDialog(this, "登录成功!"); this.dispose; else JOptionPane.showMessageDialog(this, "输入用户名或密码错误!"); catch (Exception e1) / TODO Auto-generated catch block e1.printStackTrace; if (cancelButton.equals(e.getSource) / 退出 System.exit(0); 12 GZGLZJM.java/工资管理主界面 package wage_management; import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; class GZGLZJM extends JFrame implements ActionListener JFrame f = new JFrame("工资管理系统"); JButton b1 = new JButton("工资管理"); JButton b2 = new JButton("员工信息管理"); JButton b3 = new JButton("返回"); ImageIcon im = new ImageIcon("3.jpg"); JLabel a1 = new JLabel(im); void create JPanel p = (JPanel) f.getContentPane; p.setLayout(new FlowLayout); p.add(a1); p.add(b1); p.add(b2); p.add(b3); p.setBackground(Color.cyan); p.setVisible(true); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); f.setBounds(200, 100, 500, 200); f.setVisible(true); 13 public void actionPerformed(ActionEvent e) if (b3.equals(e.getSource) / 返回 DL d = new DL; d.create; f.dispose; if (b2.equals(e.getSource) / 员工信息管理 YGGL yg = new YGGL; yg.create; f.dispose; if (b1.equals(e.getSource) / 工资管理 GZGL gz = new GZGL; gz.create; f.dispose; /工资管理 GZGL.java package wage_management; import java.awt.Color; import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JSplitPane; 14 import javax.swing.JTable; import javax.swing.JTextField; public class GZGL extends JFrame implements ActionListener JFrame f = new JFrame("工资管理"); JButton b1 = new JButton("录入"); JButton b2 = new JButton("修改"); JButton b3 = new JButton("删除"); JButton b4 = new JButton("查询所有"); JButton b5 = new JButton("返回"); JTextField tf1 = new JTextField(4); JTextField tf2 = new JTextField(4); JTextField tf3 = new JTextField(4); JTextField tf4 = new JTextField(4); JTextField tf5 = new JTextField(6); JTextField tf6 = new JTextField(7); String cloum = "职工号", "姓名", "津贴", "月基本工资","月薪" Object row = new Object505; JTable table = new JTable(row, cloum); JScrollPane scrollpane = new JScrollPane(table); JSplitPane splitpane = new JSplitPane(JSplitPane.VERTICAL_SPLIT); void create JPanel p = (JPanel) f.getContentPane; p.setLayout(new FlowLayout); p.add(scrollpane); p.add(splitpane); JPanel p1 = new JPanel; p1.add(b1); p1.add(b2); p1.add(b3); p1.add(b4); p1.add(b5); JPanel p2 = new JPanel; p2.setBackground(Color.cyan); p2.add(scrollpane); JPanel p3 = new JPanel; p.setLayout(new FlowLayout); p.add(new JLabel(""); p.add(new JLabel("职工号"); p.add(tf1); 15 p.add(new JLabel("姓名"); p.add(tf2); p.add(new JLabel("津贴"); p.add(tf3); p.add(new JLabel("月基本工资"); p.add(tf4); p.add(new JLabel("月薪"); p.add(tf5); p.add(new JLabel("在此处输入职工号点击查询删除"); p.add(tf6); splitpane.add(p1, splitpane.TOP); splitpane.add(p2, splitpane.BOTTOM); splitpane.setDividerLocation(50); p.setBackground(Color.CYAN); b1.addActionListener(this); b2.addActionListener(this); b3.addActionListener(this); b4.addActionListener(this); b5.addActionListener(this); f.setBounds(200, 100, 500, 600); f.setResizable(true);/ 可以调整界面大小 f.setVisible(true); public void actionPerformed(ActionEvent e) if (b1.equals(e.getSource) / 录入 Connection con; Statement sql; try Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) System.out.println("" + e1); try con=DriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management","root","jxb"); sql = con.createStatement; String insertStr = "INSERT INTO welfare (no,name,jt)VALUES('"+tf1.getText+"','"+tf2.getText+"','"+tf3.getText+"');" sql.executeUpdate(insertStr); String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+tf1.getText+"','"+tf2.getText+"'16 ,'"+tf4.getText+"');" sql.executeUpdate(insertStr1); con.close; JOptionPane.showMessageDialog(this, "入录成功!"); catch (SQLException e1) JOptionPane.showMessageDialog(this, "入录失败!"); if (b2.equals(e.getSource) / 修改 Connection con; Statement sql; try Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) System.out.println("" + e1); try con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management","root","jxb"); sql = con.createStatement; String updateStr = "UPDATE welfare SET jt='"+tf3.getText+"',name='"+tf2.getText+"'where no='"+tf1.getText+"'" sql.executeUpdate(updateStr); String updateStr1 = "UPDATE wageinfo SET jb='"+tf4.getText+"',name='"+tf2.getText+"'where no='"+tf1.getText+"'" sql.executeUpdate(updateStr1); JOptionPane.showMessageDialog(this, "修改成功!"); con.close; catch (SQLException e1) JOptionPane.showMessageDialog(this, "信息不存在!"); if (b3.equals(e.getSource) / 删除 Connection con; Statement sql; ResultSet rs; 17 try Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) System.out.println("" + e1); try con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management","root","jxb"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); sql.executeUpdate("DELETE FROM wageinfo where no='"+tf6.getText+"'"); sql.executeUpdate("DELETE FROM welfare where no='"+tf6.getText+"'"); JOptionPane.showMessageDialog(this, "删除成功!"); con.close; catch (SQLException e1) JOptionPane.showMessageDialog(this, "删除失败!"); if (b4.equals(e.getSource) / 查询全部 Connection con; Statement sql; ResultSet rs; /Vector vector = new Vector; try Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) JOptionPane.showMessageDialog(this, "连接数据库失败!"); try con = DriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management","root","jxb"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY); 18 if (b4.equals(e.getSource) for (int i = 0; i < 50; i+) for (int j = 0; j < 4; j+) table.setValueAt("", i, j); rs = sql.executeQuery("select distinct * from wageinfo ,welfare where wageinfo.name=welfare.name"); int k = -1; while (rs.next) +k; String no = rs.getString(1); String name = rs.getString(2); String jb = rs.getString(3); String jt = rs.getString(6); int sum= rs.getInt(3)+rs.getInt(6); table.setValueAt(no, k, 0); table.setValueAt(name, k, 1); table.setValueAt(jb, k, 3); table.setValueAt(jt, k, 2); table.setValueAt(sum,k,4); catch (SQLException e1) JOptionPane.showMessageDialog(this, "查询失败!"); if (b5.equals(e.getSource) / 返回 GZGLZJM gl=new GZGLZJM; gl.create; f.dispose; /修改管理主界面 19 YGGLZJM.java package wage_management; import java.

    注意事项

    本文(数据库课程设计企业工资管理系统.docx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开