logo资料库

Java和SQL-Server2000开发的职工和工资管理系统(全过程及代码).doc

第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
资料共35页,剩余部分请下载后查看
工资管理系统 一,设计数据库 SalaryManagement 职工表: 工资表 二,创建“数据源(ODBC)” 具体步骤: “开始”-“控制面板”-“管理工具”-“数据源(ODBC) -在用户 DNS 里,点“添加”--在数据源驱动列表最下方选择“SQLServer” -点“完成”--出现了一个创建到 SQL Server 的新数据源 -在数据源“名称”右侧,填写数据库的名称;在“服务器”右侧,写(local) -点“下一步”--继续点“下一步” -在更改默认的数据库为“SalaryManagement”,这里的数据库为我刚刚新建的数据库。 -点“下一步”
-点“完成” -出现一个“ODBC Microsoft SQL Server 安装”对话框 -点击下面的“测试数据源” -出现图 2.1 就好了。 -下面依次点击“确定”就完成了。 -完成了以后,你会在数据源里看到自己刚刚新建的数据源,名为:“SalaryManagement” 图 2.1 三代码的编写: 3.1 数据库连接(文件名:DBConnect.java) 注意,这个文件最好先编译,因为后面的 main.java 文件的编译会用到该文件编译完产生的 DBConnect.class 文件 //类 DBConnect 用于数据库的连接 //导入 sql 包 import java.sql.*; //创建数据库连接类 DBConnect public class DBConnect { //静态方法提高数据库的连接效率 public static Connection getConn() throws Exception { //加载 JDBC 驱动 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //以系统默认用户身份,连接数据库 StudentManager return 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 Employee values('"+EmployeeID+"','"+EmployeeName+"','"+EmployeeSex+"','"+EmployeeAge+"','"+Empl oyeeAddress+"','"+EmployeePhone+"')"); into //利用消息对话框提示职工添加成功 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("联系电话")); } else { JOptionPane.showMessageDialog(this,"没有这个工号的职工!"); } } catch(Exception ex){ //利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,"职工信息修改失败!"); } } //点击“修改工资”按钮 if(actionevent.getSource()==jButton2) { //获取用户更改的工资 try{ //利用 st 对象执行 SQL 语句,进行插入操作 st.executeUpdate("update set Employee 职 工 姓 名 ='"+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 家 庭 住 址
分享到:
收藏