数据库课程设计—企业工资管理系统java+完整代码_第1页
数据库课程设计—企业工资管理系统java+完整代码_第2页
数据库课程设计—企业工资管理系统java+完整代码_第3页
数据库课程设计—企业工资管理系统java+完整代码_第4页
数据库课程设计—企业工资管理系统java+完整代码_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

1、得分:课程设计报告企业工资管理系统姓名张栋梁班级学号13软件11310321129课程名称数据库原理及应用指导教师 熊英2015年6月27日i1、 需 求分 析1.1 功能 需 求1.1.1 功 能划 分(1) 、员工信息表;及时反映员工的基本信息(2) 、员工津贴表,反映员工津贴(3) 、员工基本工资表1.1.2 功 能描述(1) 、基本工资的设定(2) 、津贴的设定(3) 、计算出月工资(4) 、录入员工工资信息(5 )、添加员工工资信息(6)、更改员工工资信息1.2 性能 需求 此工资管理系统对工资数据精度的计算能在默认情况之下精确到小数点后 3位小数,即是精确到分的计算。但在用户使用过

2、程中,能自行根据实际情况进 行小数计算精度的设定,最大能允许保留小数点后 5 位的精度。在时间特性上, 当用户发出命令请求时的服务器的响应时间、 对数据更新处理、 工资数据的查询 检索等上, 同样要求系统响应时间不会超过 0.5 秒时间。系统支持多种操作系统 的运行环境,多不同操作系统, 不同文件格式的磁盘上的数据均能实现信息的互 通,及共享。当服务器移植到其他的系统平台,如: Linux 平台下时,同样能和 其他的系统进行数据存取同步, 不会出现系统之间互不兼容的情况, 系统支持多 系统之间的互连互通,系统有巨大的强健性。本课程设计是用 Java 语言编写, mysql 数据库。1.3 数据

3、 流图根据工资管理要求及用户需求调查分析,得到以下数据流图图 1.1 第一层数据流图图1.2职工信息的载入图1.4考勤的信息载入2.总体设计2.1数据库概念设计有了数据流图,用E-R图来说明工资信息管理系统的数据库概念模式,如图39姓名基本工资2.2功能模块3 系统详细设计3.1数据库逻辑设计将以上E-R转换成如下关系模式员工(职工号,姓名,密码)工资(职工号,姓名,基本工资,)津贴(职工号,姓名,奖金)其中,标有下划线的字段表示为该数据表的主码,即主关键字。在上面的实体以及实体之间关系的基础上,形成数据库中的表格以及各个表格之间的关系。工资信息管理系统数据库中各个表格的设计结果如下面的几个表

4、格所示。每个表格表示在数据库中的一个表表一:员工信息表:列名数据类型可否取空备注说明noChar ( 8 )NOT NULL职工号(主键)nameChar( 10)NOT NULL职工姓名miSmallintNOT NULL登录密码表二:基本工资表:列名数据类型可否取空备注说明noChar ( 8 )NOT NULL职工号(主键)nameChar( 10)NOT NULL职工姓名JbmoneyNOT NULL基本工资表四:津贴信息表列名数据类型可否为空备注说明noChar ( 8 )NOT NULL职工号(主键)nameChar( 10)NOT NULL职工姓名JtmoneyNOT NULL津

5、贴3.2各模块功能3.2.1职工信息管理系统功能为:财务部门相关人员录入、修改、删除、查询员工个人信息322职工工资管理系统功能为:根据工资生成公式,按照员工的考勤情况及各种表现按月生成相应 的工资;财务部门相关人员能录入、修改、删除、查询每个月每个员工的工资信 息以及工资汇总;员工本人能查询自己的工资信息以及工资汇总;3.2.3职工登陆查询系统功能为:员工本人能通过用户名和密码查询自己的信息以及修改自己的密码;4.系统实现4.1界面截图4.1.1 主界面4.1.2 登录界面4.1.3管理员管理工资界面4.1.4信息录入,修改,删除,查询界面jx.byr500400300取工号123V5月薪2

6、6002&00 2&00 26004500月基未工资 2200 2300 14002500 4COO删除查闻所有月基本工资处输入眶工瓷点击査iffl删除4.1.5职工信息查询界面4.1.6职工密码修改界面4.2设计代码DB.javapackage wage_ma nageme nt;import java.awt.*;import java.awt.eve nt.*;import javax.swi ng.*;class DB exte nds JFrame impleme nts Actio nListe ner JFrame frame = new JFrame(”欢迎进入

7、企业工资管理系统");JLabel label = new JLabel("", JLabel.CENTER);JButton button1 = new JButton(”进入系统");JButton button2 = new JButton(”退出系统");ImageIc on im = new ImageIco n("1.jpg");JLabel a1 = new JLabel(im);void Create() JPa nel pconten tPa ne = (JPa nel) frame.getC onten

8、tPa ne();pconten tPa ne.add(a1);pconten tPa ne.add(label);pcontentPane.setLayout(new FlowLayout();pconten tPa ne.add(butt on 1);pconten tPa ne.add(butt on 2);peon te ntPa ne.setVisible(true);butt on l.addAct ion Liste ner(this);butt on 2.addAct ion Liste ner(this);frame.setDefaultCloseOperation(JFra

9、me.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(

10、e.getSource() / 退 出System.exit(0);DL.javapackage 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

11、 javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JPasswordField;import javax.swing.JTextField;import com.mysql.jdbc.PreparedStatement;import Query.Querypad;class DL extend

12、s JFrame implements ActionListenerImageIcon im = new ImageIcon("2.jpg");JLabel a2 = new JLabel(im);职工/ 管理员 登陆"); 用 户 名 ");密 码 ");管理员登 录");职工登录 "); 退出 ");JFrame frame = new JFrame("JLabel label1 = new JLabel("JLabel label2 = new JLabel("JButton l

13、ogonButton1 = 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

14、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);p.add(logonButton1);p

15、.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);

16、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(t

17、his, "");GZGLZJM gz = new GZGLZJM();gz.create();frame.dispose();else JOptionPane.showMessageDialog(null, " 或密码错 误!");if (e.getSource()=logonButton2)try Connection con;Statement ps;ResultSet rs; String sql = null; Class.forName("org.gjt.mm.mysql.Driver");Class.forName(&q

18、uot;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 = (PreparedS

19、tatement) 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(); e

20、lse JOptionPane.showMessageDialog(this, " 输 入 用 户名或密 码错误! ");catch (Exception e1) / TODO Auto-generated catch block e1.printStackTrace();if (cancelButton.equals(e.getSource() /退 出 System.exit(0);GZGLZJM.javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import jav

21、a.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 ActionLi

22、stener 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.

23、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);返回public void actionPerformed(ActionEvent e) if (b3.equals(e.getSource() /DL d = new DL();d

24、.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.javapackage wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEv

25、ent;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 java

26、x.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;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 JButt

27、on("修 改 ");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);JTextF

28、ield tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);月基本工资newString cloum = " 职工 号", " 姓名 ", " 津贴" "," 月 薪"Object row = new Object505;JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table);JSplitPane splitpane = J

29、SplitPane(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(

30、scrollpane);JPanel p3 = new JPanel(); p.setLayout(new FlowLayout();p.add(new JLabel("");职工 号");姓名 ");津贴 ");月基 本工资 ")月薪 ");p.add(new JLabel(" p.add(tf1);p.add(new JLabel(" p.add(tf2);p.add(new JLabel(" p.add(tf3);p.add(new JLabel(" p.add(tf4);p.a

31、dd(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.addActi

32、onListener(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

33、.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,n

34、ame,jt)VALUES('"+tf1.getText()+"','"+tf2.getText()+"' ,'"+tf3.getText()+"');"sql.executeUpdate(insertStr);String insertStr1 = "INSERT INTO wageinfo (no,name,jb)VALUES('"+tf1.getText()+"','"+tf2.getText()+"

35、;' ,'"+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

36、 Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) System.out.println("" + e1);try conDriverManager.getConnection("jdbc:mysql:/localhost:3306/w age management","root","jxb");sql = con.createStatement();String updateStr = &qu

37、ot;UPDATE jt='"+tf3.getText()+"',name='"+tf2.getText()+"'where no='"+tf1.getText()+"'"welfare SETsql.executeUpdate(updateStr);String updateStr1 = "UPDATE jb='"+tf4.getText()+"',name='"+tf2.getText()+"'

38、;where no='"+tf1.getText()+"'"sql.executeUpdate(updateStr1);JOptionPane.showMessageDialog(this, " ");con.close(); catch (SQLException e1) JOptionPane.showMessageDialog(this, 在 ! ");wageinfo SET修改成功!"信息不存if (b3.equals(e.getSource() / 删 除 Connection con;State

39、ment sql;ResultSet rs;try Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) System.out.println("" + e1);try conDriverManager.getConnection("jdbc:mysql:/localhost:3306/wage management","root","jxb");sql =con.createStatement(R

40、esultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETEFROM wageinfowhereno='"+tf6.getText()+"'");sql.executeUpdate("DELETEFROM welfarewhereno='"+tf6.getText()+"'");JOptionPane.showMessageDialog(this, "删 除 成 功

41、!");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 e

42、1) 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);if (b4.equals(e.getSo

43、urce() 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 =");int k = -1;while (rs.next() +k;String no = rs.getString(1);String name = rs.getString(

44、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,

45、" ");if (b5.equals(e.getSource() / 返 回 GZGLZJM gl=new GZGLZJM(); gl.create();f.dispose();YGGLZJM.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.D

46、riverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;工资管 理&quo

47、t;);查询 个人工资 ");public class YGDLJM extends DL implements ActionListener JFrame f = new JFrame(JButton b1 = new JButton(JButton b2 = new JButton(JButton b3 = new JButton(String cloum = "职工 号", " 姓名 ", " 津贴", " 月基 本工资"," 月 薪"Object row = new Objec

48、t505;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()

49、;p1.add(b1);p1.add(b2);p1.add(b3); JPanel p2 = new JPanel();p2.setBackground(Color.cyan); p2.add(scrollpane);JPanel p3 = new JPanel(); p.setLayout(new FlowLayout();splitpane.add(p1, splitpane.TOP); splitpane.add(p2, splitpane.BOTTOM); splitpane.setDividerLocation(50);p.setBackground(Color.CYAN);b1.a

50、ddActionListener(this);b2.addActionListener(this);b3.addActionListener(this); f.setBounds(200, 100, 500, 550);f.setResizable(true);/ 可 以 调 整 界 面 大 小 f.setVisible(true);public void actionPerformed(ActionEvent e) if (b1.equals(e.getSource() /查 询 个 人 工 资Connection con; Statement sql; ResultSet rs; try

51、Class.forName("org.gjt.mm.mysql.Driver"); catch (ClassNotFoundException e1) System.out.println("" + e1);try con DriverManager.getConnection("jdbc:mysql:/localhost:3306/w age management","root","jxb");sql con.createStatement(ResultSet.TYPE_SCROLL_SENS

52、ITIVE, ResultSet.CONCUR_READ_ONLY);if (b1.equals(e.getSource() for (int i = 0; i < 50; i+) for (int j = 0; j < 4; j+) table.setValueAt("", i, j);/System.out.println(t1);whereandrs = sql.executeQuery("select distinct * from wageinfo ,welfare,workerinfo wageinfo.no=welfare.no and

53、wageinfo.no=workerinfo.no ='"+t1+"' and workerinfo.mi='"+t2+"'");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(

54、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 (b2.equals(e.getSource()/ 修改密 码XGMM xgmm=new XGMM(); xgmm.create();if (b3

55、.equals(e.getSource() / 返 回 DL dl=new DL();dl.create();f.dispose();YGGL.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.Result

56、Set;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;import javax.swing.JTable;import javax.swing

57、.JTextField;Listener public class YGGL extends JFrame implements ActionJFrame 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);JTextF

58、ield tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(7);String cloum = "职工 号"," 月 薪"," 登 陆 密 码"Object row = new Object506;JTable table = new JTable(row, cloum);JScrollPane scrollpane = new JScrollPane(table); JSplitPane splitpane JSplitPane(JSplitPane.VERTICAL_SPLIT);void create() JPanel p = (JPanel) f.getContentPane();IIIIIIIIII员工信 息管理"); 添加 新员工信 息"); 修改 员工信息 "); 删除 员工信息 "); 查询 所有员工 信息"); 返回 ");"

温馨提示

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

评论

0/150

提交评论