当前位置:文档之家› 数据库课程设计-员工薪资管理系统

数据库课程设计-员工薪资管理系统

数据库原理及应用课程设计报告课程设计题目:(员工薪资管理系统)学生姓名陈柏铿专业信息与计算科学学号 201620320224班级 1623202指导教师郭树蕻2018/6/23目录* 摘要 (01)一、开发背景 (03)设计背景 (03)设计要求 (03)二、系统性需求分析 (04)三、概要设计 (04)四、物理设计 (05)五、详细设计 (05)数据库的E-R图 (05)数据库结构设计 (06)六、调试分析 (07)七、管理软件源代码 (11)八、思考与总结 (30)九、参考文献 (31)一、开发背景1.设计背景:1)某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员。

2)该单位下设4个科室,即经理室、财务科、技术科和销售科。

3)工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除。

4)每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)。

5)每月个人的最高工资不超过3000元。

工资按月发放,实际发放的工资金额为工资减去扣除。

2.设计要求:1)进行需求分析。

2)设计E-R图。

3)实现按照科室录入个人的基本资料、工资和扣除金额的数据。

4)计算个人的实际发放工资。

5)按科室、职业分类统计人数和工资金额。

6)实现分类查询。

7)能够删除辞职人员的数据。

8)开发工具不限。

二、系统性需求分析本系统的开发宗旨以及总体任务就是帮助企业的财务主管部门提高工作效率,实现企业工资信息管理的自动化、规范化和系统化。

所以为了能够实现编制这个系统所设定的目标,在程序的开发之前,需求分析是必不可少的。

需求分析的第一步描述工资管理系统的功能,即定义用例,以此确定系统的功能需求。

工资管理系统的用例分析主要是找出系统中所有的用例,因此要和工资管理系统的潜在用户进行讨论。

系统最终实现的主要功能如下:1、员工基本信息模块员工基本信息模块具有员工信息输入、员工增删和员工信息查询三个功能。

员工基本信息包括员工编号、员工姓名、员工性别、所在部门、年龄、住址和联系电话等信息。

员工增删实现了对数据库中员工信息的增加和删除。

2、工资结构设置模块根据该公司的工资管理实际情况,本系统将工资结构分为基础工资、岗位工资和工龄工资三部分。

该模块可以对这三个工资类型设置工资等级,并对每个等级设置工资标准。

数据流需求分析:数据库寻找信息数据库需求分析——数据流图三、概要设计根据需求分析阶段得到的功能需求,管理员、员工通过输入用户名号和密码进下该系统后,可以进行一些基本查询(员工工资信息查询、津贴信息查询)、还可以进行员工删除和添加员工的操作,员工通过登录并输入密码,可以进行查询自己的数据(工资,信息)。

模块功能大概可以分为如下5个方面:这几个模块工资管理、信息查询,添加和删除员工,登陆、退出。

工资管理包括基本工资查询,添加员工、删除员工等。

四、物理设计1. 选择[登陆] 则会进入相应登陆网页。

2. 选择[员工] [管理员][游客]即可进入对应的网页3. 进入[员工界面]即可进入 [员工工资查询]功能窗体。

4. 进入[管理员界面] 即可进入 [修改信息][添加信息][查询信息]功能窗体。

5. 选择[添加信息] 按钮即可进入 [添加员工信息]功能窗体。

6. 选择[删除信息] 菜单按钮即可进入 [删除员工]功能窗体。

7.选择[查询信息] 菜单按钮即可进入 [查询员工信息]功能窗体。

8. 选择[首页]将返回整个系统。

五、详细设计(1)数据库的E-R图及合并部分视图生成E-R 图员工信息E-R图:员工工资信息E-R图:(2)数据库结构设计根据上面概念结构设计阶段得到的E-R图,下一步应该将它转化为关系模型。

可以得到对应的关系模式为:Worker(num,name,sex,age,dep,occup,password)Salary(work_num,basic_pay,welfare,honus,insurance,housing_fund, payment)数据库表的建立:(sql语句及截图)语句如下:Create table worker( num char(5) primary key,name varchar(8),sex char(5),age smallint,dep varchar(20),occup varchar(20),password varchar(10),);Create table salary( worker_num nchar(5) primary key,basic_pay float,welfare float,bonus float,insurance float,housing_fund float,payment float,)六、调试分析1、进入系统界面2、职工/管理员系统界面3、工资管理界面4、密码修改界面5、工资管理界面录入/修改/删除/查询所有/返回员工信息管理界面七、管理软件源代码说明:管理界面选择采用Java构建管理界面,Java对数据库有着对数据库良好的连接功能,且其可以很容易的实现窗口的构建,可以给用户以及管理员以良好友善的界面,便于人机交互,能够很好的对数据库实现管理,以及其面向对象的特性在后期的维护中很容易实现软件的扩展与各种维护!Java编程语言的风格十分接近C语言、C++语言。

Java是一个纯粹的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。

Java舍弃了C语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)、多重继承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的对象所占据的内存空间,使得程序员不用再为内存管理而担忧。

package wage_management;import java.awt.*;import java.awt.event.*;import javax.swing.*;class DB1 extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;JFrame frame = new JFrame("欢迎进入工资管理系统");JLabel label = new JLabel("", JLabel.CENTER);JButton button1 = new JButton("进入系统");JButton button2 = new JButton("退出系统");void Create() {JPanel pcontentPane = (JPanel) frame.getContentPane();pcontentPane.add(label);pcontentPane.setLayout(new FlowLayout());pcontentPane.add(button1);pcontentPane.add(button2);pcontentPane.setBackground(Color.gray);pcontentPane.setVisible(true);button1.addActionListener(this);button2.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.pack();frame.setBounds(500, 300, 300, 150);frame.setResizable(false);frame.setVisible(true);}public static void main(String[] args) {DB1 dome = new DB1();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);}}}---------------------------------------------------------------------- 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.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;@SuppressWarnings("serial")class DL extends JFrame implements ActionListener{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();@SuppressWarnings("unused")JPanel p1 = new JPanel();p.setLayout(new FlowLayout());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.add(logonButton2);p.add(cancelButton);p.setBackground(Color.gray);p.setVisible(true);logonButton1.addActionListener(this);logonButton2.addActionListener(this);cancelButton.addActionListener(this);frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.pack();frame.setBounds(500, 300, 500, 220);frame.setVisible(true);}@SuppressWarnings("deprecation")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 {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/management","root","hellomysql");sql="select * from worker where num='"+t1+"' and password='"+t2+"'";ps=(PreparedStatement) con.prepareStatement(sql);rs = ps.executeQuery(sql);if(rs.next()){if(rs.getString("num").equals(t1) && rs.getString("password").equals(t2)) {YGGLZJM yg = new YGGLZJM();yg.create();frame.dispose();JOptionPane.showMessageDialog(this, "登录成功!");this.dispose();}}else {JOptionPane.showMessageDialog(this, "输入用户名或密码错误!");}}catch (Exception e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}if (cancelButton.equals(e.getSource())) // 退出{System.exit(0);}}}-------------------------------------------------------------------------------- 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;import javax.swing.JTable;import javax.swing.JTextField;@SuppressWarnings("serial")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(6);JTextField tf2 = new JTextField(4);JTextField tf3 = new JTextField(4);JTextField tf4 = new JTextField(4);JTextField tf5 = new JTextField(4);JTextField tf6 = new JTextField(4);JTextField tf7 = new JTextField(6);JTextField tf8 = new JTextField(6);JTextField tf9 = new JTextField(4);JTextField tf10= new JTextField(4);JTextField tf11= new JTextField(6);JTextField tf12= new JTextField(6);String[] cloum = { "职工号", "基本工资", "津贴", "奖金","保险","房贷","总工资"}; Object[][] row = new Object[50][7];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.gray);p2.add(scrollpane);@SuppressWarnings("unused")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.add(new JLabel("保险"));p.add(tf5);p.add(new JLabel("房贷"));p.add(tf6);p.add(new JLabel("总工资"));p.add(tf7);p.add(new JLabel("姓名"));p.add(tf8);p.add(new JLabel("性别"));p.add(tf9);p.add(new JLabel("年龄"));p.add(tf10);p.add(new JLabel("部门"));p.add(tf11);p.add(new JLabel("职业"));p.add(tf12);splitpane.add(p1, JSplitPane.TOP);splitpane.add(p2, JSplitPane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.gray);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(500, 100, 500, 600);f.setResizable(false);// 可以调整界面大小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/management","root","hellomysql ");sql = con.createStatement();String insertStr = "INSERT INTO salary (worker_num,basic_pay,welfare,bonus,insurance,housing_fund,payment)VALUES('"+tf1.getText()+ "','"+tf2.getText()+"','"+tf3.getText()+"','"+tf4.getText()+"','"+tf5.getText()+"','"+tf6.g etText()+"','"+tf7.getText()+"');";sql.executeUpdate(insertStr);String insertStr1 = "INSERT INTO worker (num,name,sex,age,dep,occup,password)VALUES('"+tf1.getText()+"','"+tf8.getText()+"','"+tf9. getText()+"','"+tf10.getText()+"','"+tf11.getText()+"','"+tf12.getText()+"','"+tf1.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/management","root","hellomysql"); sql = con.createStatement();String updateStr = "UPDATE salary SET basic_pay='"+tf2.getText()+"',welfare='"+tf3.getText()+"',bonus='"+tf4.getText()+"',insuran ce='"+tf5.getText()+"',housing_fund='"+tf6.getText()+"',payment='"+tf7.getText()+"'where worker_num='"+tf1.getText()+"';";sql.executeUpdate(updateStr);String updateStr1 = "UPDATE worker SET name='"+tf8.getText()+"',sex='"+tf9.getText()+"',age='"+tf10.getText()+"',dep='"+tf11.getTe xt()+"',occup='"+tf12.getText()+"'where num='"+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;@SuppressWarnings("unused")ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROM salary where worker_num='"+tf1.getText()+"';");sql.executeUpdate("DELETE FROM worker where num='"+tf1.getText()+"';");JOptionPane.showMessageDialog(this, "删除成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "删除失败!");}}if (b4.equals(e.getSource())) {// 查询全部Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);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 * from salary");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String jb = rs.getString(2);String jt = rs.getString(3);String jj = rs.getString(4);String bx = rs.getString(5);String zf = rs.getString(6);String sum= rs.getString(7);table.setValueAt(no, k, 0);table.setValueAt(jb, k, 1);table.setValueAt(jt, k, 2);table.setValueAt(jj, k, 3);table.setValueAt(bx, k, 4);table.setValueAt(zf, k, 5);table.setValueAt(sum,k, 6);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b5.equals(e.getSource())) {// 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();}}}----------------------------------------------------------------------------------------- package wage_management;import java.awt.Color;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JPanel;class GZGLZJM extends JFrame implements ActionListener {private static final long serialVersionUID = 1L;JFrame f = new JFrame("工资管理系统");JButton b1 = new JButton("工资管理");JButton b2 = new JButton("员工信息管理");JButton b3 = new JButton("返回");void create() {JPanel p = (JPanel) f.getContentPane();p.setLayout(new FlowLayout());p.add(b1);p.add(b2);p.add(b3);p.setBackground(Color.gray);p.setVisible(true);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setBounds(500, 300, 500, 200);f.setResizable(false);f.setVisible(true);}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();}}}------------------------------------------------------------------------- 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.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.JPasswordField;@SuppressWarnings("serial")class XGMM extends DL implements ActionListener{JFrame frame = new JFrame("密码修改");JLabel label1 = new JLabel("原密码");JLabel label2 = new JLabel("新密码");JButton Button1 = new JButton("确定");JButton cancelButton = new JButton("返回"); JPasswordField password = new JPasswordField(9); JPasswordField newpassword = new JPasswordField(9); void create(){JPanel p = (JPanel) frame.getContentPane();p.setLayout(new FlowLayout());p.add(label1);p.setSize(5, 5);p.setLocation(4, 8);p.add(password);p.setSize(100, 200);p.setLocation(600, 600);p.add(label2);p.setSize(50, 20);p.setLocation(40, 80);p.add(newpassword);p.setSize(100, 20);p.setLocation(80, 120);p.add(Button1);p.add(cancelButton);p.setBackground(Color.cyan);p.setVisible(true);Button1.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){if (e.getSource()==Button1){Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement();@SuppressWarnings("deprecation")String updateStr = "UPDATE worker SET password='"+newpassword.getText()+"'where num='"+t1+"';";sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(this, "修改成功!");con.close();frame.dispose();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "请输入原密码和新密码!");}}if (e.getSource()==cancelButton) //返回{YGGLZJM dl=new YGGLZJM();dl.create();frame.dispose();}}}---------------------------------------------------------------------------------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;import javax.swing.JTable;import javax.swing.JTextField;@SuppressWarnings("serial")public class YGGL extends JFrame implements ActionListener { JFrame f = new JFrame("员工信息管理");JButton b2 = new JButton("修改员工信息");JButton b3 = new JButton("删除员工信息");JButton b4 = new JButton("查询所有员工信息");JButton b5 = new JButton("返回");JTextField tf1 = new JTextField(8);JTextField tf2 = new JTextField(8);JTextField tf3 = new JTextField(6);JTextField tf4 = new JTextField(6);JTextField tf5 = new JTextField(6);JTextField tf6 = new JTextField(6);String[] cloum = { "职工号", "姓名", "性别", "年龄","部门","职业"}; Object[][] row = new Object[50][6];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(b2);p1.add(b3);p1.add(b4);p1.add(b5);JPanel p2 = new JPanel();p2.setBackground(Color.gray);p2.add(scrollpane);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(new JLabel("年龄"));p.add(tf4);p.add(new JLabel("部门"));p.add(tf5);p.add(new JLabel("职业"));p.add(tf6);splitpane.add(p1, JSplitPane.TOP);splitpane.add(p2, JSplitPane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.gray);b2.addActionListener(this);b3.addActionListener(this);b4.addActionListener(this);b5.addActionListener(this);f.setBounds(500, 100, 500, 600);f.setResizable(false);// 可以调整界面大小f.setVisible(true);}public void actionPerformed(ActionEvent e) {if (b2.equals(e.getSource())) {// 修改员工信息Connection con;Statement sql;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement();String updateStr = "UPDATE worker SET name='"+tf2.getText()+"',sex='"+tf3.getText()+"',age='"+tf4.getText()+"',dep='"+tf5.getText ()+"',occup='"+tf6.getText()+"'where num='"+tf1.getText()+"';";sql.executeUpdate(updateStr);JOptionPane.showMessageDialog(this, "修改成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "修改失败!");}}if (b3.equals(e.getSource())) {// 删除员工信息Connection con;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);sql.executeUpdate("DELETE FROM worker where num='"+tf1.getText()+"';");sql.executeUpdate("DELETE FROM salary where worker_num='"+tf1.getText()+"';"); JOptionPane.showMessageDialog(this, "删除成功!");con.close();} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "删除失败!");}}if (b4.equals(e.getSource())) {// 查询全部员工信息Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {JOptionPane.showMessageDialog(this, "连接数据库失败!");}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql"); sql = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);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 * from worker ;");int k = -1;while (rs.next()) {++k;String no = rs.getString(1);String xm = rs.getString(2);String xb = rs.getString(3);String nl = rs.getString(4);String bm = rs.getString(5);String zy = rs.getString(6);table.setValueAt(no, k, 0);table.setValueAt(xm, k, 1);table.setValueAt(xb, k, 2);table.setValueAt(nl, k, 3);table.setValueAt(bm, k, 4);table.setValueAt(zy, k, 5);}}} catch (SQLException e1) {JOptionPane.showMessageDialog(this, "查询失败!");}}if (b5.equals(e.getSource())) {// 返回GZGLZJM gl=new GZGLZJM();gl.create();f.dispose();}}}----------------------------------------------------------------------------------- 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.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JSplitPane;import javax.swing.JTable;@SuppressWarnings("serial")public class YGGLZJM 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 Object[50][7];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);JPanel p2 = new JPanel();p2.setBackground(Color.gray);p2.add(scrollpane);@SuppressWarnings("unused")JPanel p3 = new JPanel();p.setLayout(new FlowLayout());splitpane.add(p1, JSplitPane.TOP);splitpane.add(p2, JSplitPane.BOTTOM);splitpane.setDividerLocation(50);p.setBackground(Color.gray);b1.addActionListener(this);b2.addActionListener(this);b3.addActionListener(this);f.setBounds(200, 100, 500, 550);f.setResizable(false);// 可以调整界面大小f.setVisible(true);}public void actionPerformed(ActionEvent e) {if (b1.equals(e.getSource())) {// 查询个人工资Connection con;Statement sql;ResultSet rs;try {Class.forName("org.gjt.mm.mysql.Driver");} catch (ClassNotFoundException e1) {System.out.println("" + e1);}try {con = DriverManager.getConnection("jdbc:mysql://localhost:3306/management","root","hellomysql");。

相关主题