Java和SQL-Server2000开发的职工和工资管理系统(全过程及代码).doc_第1页
Java和SQL-Server2000开发的职工和工资管理系统(全过程及代码).doc_第2页
Java和SQL-Server2000开发的职工和工资管理系统(全过程及代码).doc_第3页
Java和SQL-Server2000开发的职工和工资管理系统(全过程及代码).doc_第4页
Java和SQL-Server2000开发的职工和工资管理系统(全过程及代码).doc_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

工资管理系统一,设计数据库SalaryManagement职工表:工资表二,创建“数据源(ODBC)”具体步骤:“开始”-“控制面板”-“管理工具”-“数据源(ODBC)-在用户DNS里,点“添加”-在数据源驱动列表最下方选择“SQLServer”-点“完成”-出现了一个创建到SQL Server的新数据源-在数据源“名称”右侧,填写数据库的名称;在“服务器”右侧,写(local) -点“下一步”-继续点“下一步”-在更改默认的数据库为“SalaryManagement”,这里的数据库为我刚刚新建的数据库。-点“下一步”-点“完成”-出现一个“ODBC Microsoft SQL Server 安装”对话框-点击下面的“测试数据源”-出现图2.1就好了。图2.1-下面依次点击“确定”就完成了。-完成了以后,你会在数据源里看到自己刚刚新建的数据源,名为:“SalaryManagement”三代码的编写:3.1数据库连接(文件名:DBConnect.java)注意,这个文件最好先编译,因为后面的main.java文件的编译会用到该文件编译完产生的DBConnect.class文件/类DBConnect用于数据库的连接/导入sql包import java.sql.*;/创建数据库连接类DBConnectpublic class DBConnect/静态方法提高数据库的连接效率public static Connection getConn() throws Exception/加载JDBC驱动Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);/以系统默认用户身份,连接数据库StudentManagerreturn DriverManager.getConnection(jdbc:odbc:SalaryManagement,);3.2 添加职工信息(文件名:AddEmployee.java)/添加职工面板类AddEmployee/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“添加职工“面板类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();catch(Exception exception)exception.printStackTrace();/界面初始化方法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+=男;if(jRadioButton2.isSelected()EmployeeSex+=女;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(+EmployeeID+,+EmployeeName+,+EmployeeSex+,+EmployeeAge+,+EmployeeAddress+,+EmployeePhone+);/利用消息对话框提示职工添加成功JOptionPane.showMessageDialog(this,职工添加成功!);/清空文本行的内容jTextField1.setText();jTextField2.setText();jTextField3.setText();jTextField4.setText();jTextField5.setText();catch(Exception ex)/利用消息对话框提示异常的信息JOptionPane.showMessageDialog(this,职工添加失败!);ex.printStackTrace();3.3 修改职工信息(文件名:ModifyEmployee.java)/“职工信息修改”面板类ModifyEmployee/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“职工信息修改资”类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/调用初始化方法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(楷体,Font.BOLD,14);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(楷体,Font.BOLD,14);jLabel2.setBounds(new Rectangle(20,105,80,30);jTextField2.setBounds(new Rectangle(100,105,80,30);jLabel3.setFont(new java.awt.Font(楷体,Font.BOLD,14);jLabel3.setBounds(new Rectangle(190,105,80,30);jTextField3.setBounds(new Rectangle(270,105,80,30);jLabel4.setFont(new java.awt.Font(楷体,Font.BOLD,14);jLabel4.setBounds(new Rectangle(20,145,80,30);jTextField4.setBounds(new Rectangle(100,145,80,30);jLabel5.setFont(new java.awt.Font(楷体,Font.BOLD,14);jLabel5.setBounds(new Rectangle(190,145,80,30);jTextField5.setBounds(new Rectangle(270,145,80,30);jLabel6.setFont(new java.awt.Font(楷体,Font.BOLD,14);jLabel6.setBounds(new Rectangle(20,185,80,30);jTextField6.setBounds(new Rectangle(100,185,80,30);jLabel7.setFont(new java.awt.Font(楷体,Font.BOLD,14);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(联系电话);elseJOptionPane.showMessageDialog(this,没有这个工号的职工!);catch(Exception ex)/利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,职工信息修改失败!);/点击“修改工资”按钮if(actionevent.getSource()=jButton2)/获取用户更改的工资try/利用st对象执行SQL语句,进行插入操作st.executeUpdate(update Employee set 职工姓名=+jTextField3.getText()+ where 职工编号=+jTextField2.getText()+);st.executeUpdate(update Employee set 职工性别=+jTextField4.getText()+ where 职工编号=+jTextField2.getText()+);st.executeUpdate(update Employee set 职工年龄=+jTextField5.getText()+ where 职工编号=+jTextField2.getText()+);st.executeUpdate(update Employee set 家庭住址=+jTextField6.getText()+ where 职工编号=+jTextField2.getText()+);st.executeUpdate(update Employee set 联系电话=+jTextField7.getText()+ where 职工编号=+jTextField2.getText()+);/利用消息对话框提示职工信息修改成功JOptionPane.showMessageDialog(this,职工信息修改成功!);catch(Exception ex)/利用消息对话框提示异常的信息JOptionPane.showMessageDialog(this,职工信息修改失败!);ex.printStackTrace();3.4 删除职工信息(文件名:DeleteEmployee.java)/”删除职工“面板类DeleteEmployee/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“删除职工”类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()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(黑体,Font.BOLD,14);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,确认要删除吗?)=JOptionPane.YES_OPTION)try/利用st对象执行SQL删除操作st.executeUpdate(delete from Employee where 职工编号=+EmployeeID+);/利用消息对话框提示删除操作成功JOptionPane.showMessageDialog(this,职工删除操作,执行成功!);/清空输入学号的文本行jTextField1.setText();catch(Exception ex)/利用消息对话框提示不能删除JOptionPane.showMessageDialog(this,职工删除操作,执行失败!);3.5 添加工资类(文件名:AddSalary.java)/添加工资面板类AddSalary/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“添加工资“类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/调用初始化方法jbInit();catch(Exception exception)exception.printStackTrace();/界面初始化方法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);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);/点击按钮事件public void actionPerformed(ActionEvent e)/获取用户输入的信息String EmployeeID=jTextField1.getText();String EmployeeSalary=jTextField2.getText();try/利用st对象执行SQL语句,进行插入操作st.executeUpdate(insert into Salary values(+EmployeeID+,+EmployeeSalary+);/利用消息对话框提示工资添加成功JOptionPane.showMessageDialog(this,工资添加成功!);/清空文本行的内容jTextField1.setText();jTextField2.setText();catch(Exception ex)/利用消息对话框提示异常的信息JOptionPane.showMessageDialog(this,工资添加失败!);ex.printStackTrace();3.6 修改工资信息(文件名ModifySalary.java)/“修改工资”面板类ModifySalary/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“修改工资”面板类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()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(楷体,Font.BOLD,14);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(楷体,Font.BOLD,14);jLabel2.setBounds(new Rectangle(90,125,80,30);jTextField2.setBounds(new Rectangle(170,125,80,30);jLabel3.setFont(new java.awt.Font(楷体,Font.BOLD,14);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)/点击“查找该职工”按钮if(actionevent.getSource()=jButton1)/获取输入的职工的编号String EmployeeID=jTextField1.getText();try/利用st对象执行SQL语句,返回结果集对象ResultSet rs=st.executeQuery(select * from Salary where 职工编号=+EmployeeID+);/处理结果集if(rs.next()jTextField2.setText(rs.getString(职工编号);jTextField3.setText(rs.getString(职工工资);elseJOptionPane.showMessageDialog(this,没有这个工号的职工!);catch(Exception ex)/利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,工资修改失败!);/点击“修改工资”按钮if(actionevent.getSource()=jButton2)/获取用户更改的工资try/利用st对象执行SQL语句,进行修改操作st.executeUpdate(update Salary set 职工工资=+jTextField3.getText()+ where 职工编号=+jTextField2.getText()+);/利用消息对话框提示工资修改成功JOptionPane.showMessageDialog(this,工资修改成功!);catch(Exception ex)/利用消息对话框提示异常的信息JOptionPane.showMessageDialog(this,工资修改失败!);ex.printStackTrace();3.7 查询工资(文件名SalaryInquire.java)/工资查询面板类SalaryInquire/导入系统的类包import java.awt.*;import java.sql.*;import javax.swing.*;import java.awt.event.*;/创建“工资查询”类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(黑体,Font.BOLD,16);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 职工编号=+EmployeeID+);/处理结果集if(rs.next()jTextArea1.setText(职工编号:+rs.getString(职工编号)+n+职工工资:+rs.getString(职工工资)+n);elseJOptionPane.showMessageDialog(this,该工号的职工没有工资记录!);catch(Exception ex)/利用消息对话框提示查询失败JOptionPane.showMessageDialog(this,工资查询失败!);3.8 按编号查

温馨提示

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

评论

0/150

提交评论