歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

java課程設(shè)計(人事管理系統(tǒng)).doc

  • 資源ID:9339686       資源大小:388KB        全文頁數(shù):35頁
  • 資源格式: DOC        下載積分:9.9積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

java課程設(shè)計(人事管理系統(tǒng)).doc

人事管理系統(tǒng)一.系統(tǒng)需求分析:2(1)系統(tǒng)的功能設(shè)計2(2)系統(tǒng)功能結(jié)構(gòu)2(3)數(shù)據(jù)庫設(shè)計2二.功能模塊開發(fā)3(1)查詢?nèi)藛T信息界面3(2)添加員工界面3(3)修改員工信息界面4(4)刪除員工界面5(5)員工考核界面5(6)員工考核歷史記錄界面6三.各個類說明6四.程序代碼9(1)Manager9(2)CardEmploy11(3)SelEmploy12(4)AddEmploy14(5)ReviseEmploy16iUpdDialog18(6)DelEmploy21(7)AllEmploy22(8)Examine23(9)History27(10)EmployModel28(11)AppraisalModel30(12)SqlHelper33一.系統(tǒng)需求分析:(1) 系統(tǒng)的功能設(shè)計i 員工信息管理:員工信息管理包括對員工基本信息和情況進行查詢、添加、刪除和修改及部門管理ii 員工考核管理:包括對員工的考核情況進行操作,還可以對歷史考核情況進行瀏覽(2) 系統(tǒng)功能結(jié)構(gòu)人事管理的系統(tǒng)結(jié)構(gòu)功能結(jié)構(gòu)如圖所示:(3) 數(shù)據(jù)庫設(shè)計員工基本表(Employinfo)名稱字段名稱數(shù)據(jù)類型主鍵非空工號Empnovarchar(10)YesYes姓名Enamevarchar(10)No yes性別Sexvarchar(4)No yes出生年月BirthdayDatetimeNo Yes部門DeptNoChar(10)No Yes職務(wù)EjobChar(20)No Yes工資SalfloatNo Yes員工考核表(Appraisal)名稱字段名稱數(shù)據(jù)類型主鍵非空工號Empnovarchar(10)yesyes考核Consequencevarchar(10)noyes變更日期RegDatedatetimeNo Yes 考核歷史記錄(History)名稱字段名稱數(shù)據(jù)類型主鍵非空流水號JourNoIntYesyes工號Empnovarchar(10)noyes姓名Enamevarchar(10)No Yes 上次考核OldInfovarchar(10)No Yes 本次考核NewInfovarchar(10)No Yes 變更日期RegDatedatetimeNo Yes 二. 功能模塊開發(fā)(1) 查詢?nèi)藛T信息界面 實例一個SelEmploy類,當點擊“查詢”時調(diào)用EmployModel類的queryEmploy方法實現(xiàn)查詢(2) 添加員工界面 實例一個AddEmploy類當點擊“添加”時調(diào)用EmployModel類的updEmploy方法實現(xiàn)添加功能(3) 修改員工信息界面實例一個ReviseEmploy類當點擊“修改”時,先調(diào)用UpdDialo彈跳出一個修改信息對話框,信息修改完畢后,調(diào)用EmployModel類的updEmploy方法實現(xiàn)修改功能(4) 刪除員工界面實例一個DelEmploy類當點擊“刪除”時調(diào)用EmployModel類的updEmploy方法實現(xiàn)刪除功能(5) 員工考核界面實例一個Examine類當點擊“確認”時調(diào)用AppraisalModel類的updAppraisal方法來完成考核功能(6) 員工考核歷史記錄界面實例一個History類當點擊時調(diào)用AppraisalModel類的updAppraisal方法來完成考核功能三. 各個類說明類之間的關(guān)系圖:1. Manager類Manager類的一個實例,從而生成了人事管理系統(tǒng)的界面,用JSplitPane類將整個界面分為左右兩個部分。其中左側(cè)實現(xiàn)了人事管理系統(tǒng)的功能樹,采用JTree類構(gòu)建,同時實現(xiàn)了TreeSelectionListener接口,定義了該接口所必須實現(xiàn)的valueChanged(TreeSelectionEvent e)方法,JSplitPane右邊加入卡片布局CardEmploy類。當JTree的TreeSelectionEvent事件發(fā)生時,調(diào)用CardEmploy的c.show方法 切換不同卡片,實現(xiàn)不同的管理界面。2. CardEmploy類CardEmploy為卡片布局類的面板,主要功能是添加各個界面的卡片,當JTree的TreeSelectionEvent事件發(fā)生時。切換不同的卡片3. EmployModel、AppraisalModel類這兩個類繼承了AbstractTableModel,主要實現(xiàn)的功能是,存放調(diào)用sqlhelper類得到的數(shù)據(jù)??梢酝ㄟ^調(diào)用sqlhelper實現(xiàn) 增 刪 查 改 功能4. SqlHelper類主要就是連接數(shù)據(jù)庫的一些基礎(chǔ)操作是,方便代碼修改,重復(fù)使用5. SelEmploy這個類繼承Panel,為“查詢員工”的界面。實現(xiàn)了Actionlistener 接口,當ActionEvent 事件發(fā)生時,調(diào)用EmployModel類的queryEmploy方法實現(xiàn)查詢6. AddEmploy、ReviseEmploy、DelEmploy類這些類繼承Pane,分別為“添加員工信息”“修改員工信息”“刪除員工信息”的界面, 這些類實現(xiàn)了Actionlistener 接口,當ActionEvent 事件發(fā)生時,調(diào)用EmployModel類的updEmploy方法實現(xiàn)添加、查詢、刪除、功能7. Examine類這個類繼承Panel,為“考核員工”界面。這個類實現(xiàn)了Actionlistener 接口,當ActionEvent 事件發(fā)生時,(1)先通過調(diào)用AppraisalModel的queryAppraisal獲取上次考核成績,(2)修改Appraisal表的考核成績(3)再把上次考核成績跟本次考核成績加到History表中8. History這個類主要是把History表中的信息顯示到界面上。四. 程序代碼(1) Managerpackage com.Manager;import java.awt.*;import javax.swing.*;import javax.swing.event.TreeSelectionEvent;import javax.swing.event.TreeSelectionListener;import javax.swing.tree.*;import java.awt.event.*;public class Manager extends JFrame implements TreeSelectionListener JPanel jp;JSplitPane js;JScrollPane jsp;JTree tree;DefaultMutableTreeNode root, t1, t2, t1_1, t1_2, t1_3, t1_4, t1_5, t2_1,t2_2;CardEmploy ae;EmployModel em;public static void main(String args) Manager manager = new Manager();public Manager() / 給樹的各個結(jié)點賦值root = new DefaultMutableTreeNode("人事管理系統(tǒng)");t1 = new DefaultMutableTreeNode("基本信息管理");t1_1 = new DefaultMutableTreeNode("查詢員工");t1_2 = new DefaultMutableTreeNode("添加員工");t1_3 = new DefaultMutableTreeNode("修改員工信息");t1_4 = new DefaultMutableTreeNode("刪除員工資料");t1_5 = new DefaultMutableTreeNode("查詢?nèi)w員工");t2 = new DefaultMutableTreeNode("人員考核管理");t2_1 = new DefaultMutableTreeNode("人員考核");t2_2 = new DefaultMutableTreeNode("考核歷史查詢");t1.add(t1_1);t1.add(t1_2);t1.add(t1_3);t1.add(t1_4);t1.add(t1_5);t2.add(t2_1);t2.add(t2_2);root.add(t1);root.add(t2);tree = new JTree(root);/ 對樹進行監(jiān)聽tree.addTreeSelectionListener(this);/ 實例化CardEmploy面板 并加到j(luò)splitpane的邊ae = new CardEmploy();js = new JSplitPane();js.setLeftComponent(tree);js.setRightComponent(ae);this.getContentPane().add(js);this.setTitle("人事管理系統(tǒng)");this.setVisible(true);this.setSize(600, 500);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);public void valueChanged(TreeSelectionEvent e) / 獲取點擊結(jié)點名稱DefaultMutableTreeNode dpath = (DefaultMutableTreeNode) tree.getLastSelectedPathComponent();/ 通過點擊不同結(jié)點切換不同界面if (dpath.equals(t1_1) ae.c.show(ae, "1"); else if (dpath.equals(t1_2) ae.c.show(ae, "2"); else if (dpath.equals(t1_3) ae.c.show(ae, "3"); else if (dpath.equals(t1_4) ae.c.show(ae, "4"); else if (dpath.equals(t1_5) ae.c.show(ae, "5"); else if (dpath.equals(t2_1) ae.c.show(ae, "6"); else if (dpath.equals(t2_2) ae.c.show(ae, "7");(2) CardEmploy/* * 用卡片布局設(shè)置各個界面 */package com.Manager;import javax.swing.*;import java.awt.*;public class CardEmploy extends PanelCardLayout c; /查詢表SelEmploy selE;/添加表AddEmploy addE; /修改員工信息表 ReviseEmploy revE; /刪除員工表格 DelEmploy delE; /所有員工信息 AllEmploy allE; /員工考核表 Examine exaE; /歷史記錄界面 History His; public CardEmploy() /查詢員工表 selE = new SelEmploy();/添加員工表addE = new AddEmploy(); /修改員工信息 revE = new ReviseEmploy(); /刪除員工表格 delE = new DelEmploy(); /所有員工信息 allE =new AllEmploy(); /員工考核表 exaE = new Examine(); /歷史記錄界面 His = new History(); JPanel jp = new JPanel(); /定義cardemploy面板 為卡片布局 /把各個面板加入到C的卡片布局中 c = new CardLayout(); this.setLayout(c); this.add(selE,"1"); this.add(addE,"2"); this.add(revE,"3"); this.add(delE,"4"); this.add(allE,"5"); this.add(exaE,"6"); this.add(His,"7"); (3) SelEmploy/* * SelEmploy 類 設(shè)置查詢員工界面 */package com.Manager;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class SelEmploy extends Panel implements ActionListener EmployModel em;JLabel jl;JTextField jtf;JButton jb;JTable jt;JScrollPane jsp;JPanel jp1;public SelEmploy() / 北部jp1 = new JPanel();jl = new JLabel("輸入員工號:");jtf = new JTextField(20);jb = new JButton("查詢");/ 對查詢按鈕監(jiān)聽jb.addActionListener(this);jp1.add(jl);jp1.add(jtf);jp1.add(jb);/ 中部em = new EmployModel();String paras = "1" ;em.queryEmploy("select * from Employinfo where 1 = ?", paras);jt = new JTable(em);jsp = new JScrollPane(jt);this.setLayout(new BorderLayout();this.add(jp1, BorderLayout.NORTH);this.add(jsp, BorderLayout.CENTER);public void actionPerformed(ActionEvent e) if (e.getSource() = jb) String name = this.jtf.getText().trim();String sql = "select * from Employinfo where Empno = ?"String paras = name ;em = new EmployModel();em.queryEmploy(sql, paras);/ 查找成功更新表jt.setModel(em);(4) AddEmploypackage com.Manager;import java.awt.*;import javax.swing.*;import java.awt.event.*;public class AddEmploy extends Panel implements ActionListener JLabel jl, jl1, jl2, jl3, jl4, jl5, jl6, jl7;JButton jb1, jb2;JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7;JPanel jp1, jp2, jp3, jp4;EmployModel em;public AddEmploy() jl1 = new JLabel("工號:");jl2 = new JLabel("姓名:");jl3 = new JLabel("性別:");jl4 = new JLabel("出生年月:");jl5 = new JLabel("部門:");jl6 = new JLabel("職位:");jl7 = new JLabel("工資:");jtf1 = new JTextField(20);jtf2 = new JTextField(20);jtf3 = new JTextField(20);jtf4 = new JTextField(20);jtf5 = new JTextField(20);jtf6 = new JTextField(20);jtf7 = new JTextField(20);jb1 = new JButton("添加");jb2 = new JButton("取消");/ 監(jiān)聽添加 取消按鈕jb1.addActionListener(this);jb2.addActionListener(this);jp1 = new JPanel(new GridLayout(7, 1);jp2 = new JPanel(new GridLayout(7, 1);jp3 = new JPanel();jp1.add(jl1);jp1.add(jl2);jp1.add(jl3);jp1.add(jl4);jp1.add(jl5);jp1.add(jl6);jp1.add(jl7);jp2.add(jtf1);jp2.add(jtf2);jp2.add(jtf3);jp2.add(jtf4);jp2.add(jtf5);jp2.add(jtf6);jp2.add(jtf7);jp3.add(jb1);jp3.add(jb2);jp4 = new JPanel(new BorderLayout();jp4.add(jp1, BorderLayout.WEST);jp4.add(jp2, BorderLayout.EAST);jp4.setSize(300, 300);this.setLayout(new FlowLayout();this.add(jp4);this.add(jp3);public void actionPerformed(ActionEvent e) if (e.getSource() = jb1) / 調(diào)用EmployModel 里的updEmploy 方法,實現(xiàn)對表格的添加String sql = "insert into Employinfo values(?,?,?,?,?,?,?)"String paras = jtf1.getText(), jtf2.getText(), jtf3.getText(),jtf4.getText(), jtf5.getText(), jtf6.getText(),jtf7.getText() ;em = new EmployModel();if (em.updEmploy(sql, paras) / 當添加新員工成功時,則彈出”添加成功“的對話框JOptionPane.showMessageDialog(this, "添加成功"); else if (!em.updEmploy(sql, paras) JOptionPane.showMessageDialog(this, "添加失敗");/ 當新員工加入成功后,要把新加入員工的工號加到考核表AppraisalModel temp = new AppraisalModel();String sql1 = "insert into Appraisal(Empno) values(?)"String paras1 = jtf1.getText() ;temp.updAppraisal(sql1, paras1);else if(e.getSource() = jb2)jtf1.setText("");jtf2.setText("");jtf3.setText("");jtf4.setText("");jtf5.setText("");jtf6.setText("");jtf7.setText("");(5) ReviseEmploypackage com.Manager;/* * 修改員工界面 */import java.awt.*;import java.awt.event.*;import javax.swing.*;public class ReviseEmploy extends Panel implements ActionListener JTable jt;JScrollPane jsp;JButton jb1, jb2;JPanel jp1,jp2;EmployModel em; JLabel jl1;public ReviseEmploy() jl1 = new JLabel("修改員工信息",JLabel.CENTER);jl1.setFont(new Font("宋體", Font.BOLD, 28);jp2 = new JPanel();jp2.add(jl1);em = new EmployModel();String paras = "1" ;em.queryEmploy("select * from Employinfo where 1 = ?", paras);jt = new JTable(em);jsp = new JScrollPane(jt);jb1 = new JButton("修改");jb2 = new JButton("刷新");/ 對兩個按鈕進行監(jiān)聽jb1.addActionListener(this);jb2.addActionListener(this);this.setLayout(new BorderLayout();jp1 = new JPanel();jp1.add(jb1);jp1.add(jb2);this.add(jp2,BorderLayout.NORTH);this.add(jsp, BorderLayout.CENTER);this.add(jp1, BorderLayout.SOUTH);public void actionPerformed(ActionEvent e) if (e.getSource() = jb1) int rowNum = this.jt.getSelectedRow();if (rowNum = -1) JOptionPane.showMessageDialog(this, "請選擇一行");return;/ 彈出修改對話框new UpdDialog(em, rowNum); else if (e.getSource() = jb2) / 刷新修改界面中的表格em = new EmployModel();String paras1 = "1" ;em.queryEmploy("select * from Employinfo where 1 = ?", paras1);jt.setModel(em);i UpdDialogpackage com.Manager;/* * 彈出修改界面 */import javax.swing.*;import java.awt.*;import java.awt.event.*;public class UpdDialog extends JDialog implements ActionListener JLabel jl1, jl2, jl3, jl4, jl5, jl6, jl7;JButton jb1, jb2;JTextField jtf1, jtf2, jtf3, jtf4, jtf5, jtf6, jtf7;JPanel jp1, jp2, jp3;public UpdDialog(EmployModel em, int rowNums) jl1 = new JLabel("工號:");jl2 = new JLabel("姓名:");jl3 = new JLabel("性別:");jl4 = new JLabel("出生年月:");jl5 = new JLabel("部門:");jl6 = new JLabel("職位:");jl7 = new JLabel("工資:");jtf1 = new JTextField(20);jtf2 = new JTextField(30);jtf3 = new JTextField(30);jtf4 = new JTextField(30);jtf5 = new JTextField(30);jtf6 = new JTextField(30);jtf7 = new JTextField(30);/ 初始化jtextfield數(shù)據(jù)jtf1.setText(String) em.getValueAt(rowNums, 0);jtf1.setEditable(false);jtf2.setText(String) em.getValueAt(rowNums, 1);jtf3.setText(String) em.getValueAt(rowNums, 2);jtf4.setText(String) em.getValueAt(rowNums, 3);jtf5.setText(String) em.getValueAt(rowNums, 4);jtf6.setText(String) em.getValueAt(rowNums, 5);jtf7.setText(String) em.getValueAt(rowNums, 6);jb1 = new JButton("修改");jb2 = new JButton("取消");/ 對兩個按鈕監(jiān)聽jb1.addActionListener(this);jb2.addActionListener(this);jp1 = new JPanel();jp2 = new JPanel();jp3 = new JPanel();/ 設(shè)置布局jp1.setLayout(new GridLayout(7, 1);jp2.setLayout(new GridLayout(7, 1);/ 添加組件jp1.add(jl1);jp1.add(jl2);jp1.add(jl3);jp1.add(jl4);jp1.add(jl5);jp1.add(jl6);jp1.add(jl7);jp2.add(jtf1);jp2.add(jtf2);jp2.add(jtf3);jp2.add(jtf4);jp2.add(jtf5);jp2.add(jtf6);jp2.add(jtf7);jp3.add(jb1);jp3.add(jb2);this.add(jp1, BorderLayout.WEST);this.add(jp2, BorderLayout.CENTER);this.add(jp3, BorderLayout.SOUTH);this.setSize(300, 250);this.setVisible(true);this.setLocation(200, 200);this.addWindowListener(new WindowAdapter() public void windowClosing(WindowEvent e) dispose(););public void actionPerformed(ActionEvent e) if (e.getSource() = jb1) / 修改員工信息的 sql 語句,paras 為待注入的值String sql = "update Employinfo set "+ "Ename = ?,Sex = ?,Birthday = ?, DeptNo = ?, Ejob = ? ,Sal=? where Empno = ?"String paras = jtf2.getText(), jtf3.getText(), jtf4.getText(),jtf5.getText(), jtf6.getText(), jtf7.getText(),jtf1.getText() ;EmployModel temp = new EmployModel();/ 如果修改語句運行成功 則彈出“修改成功”對話框if (temp.updEmploy(sql, paras) JOptionPane.showMessageDialog(this, "修改成功");this.dispose(); else if (e.getSource() = jb2) / 關(guān)閉對話框this.dispose();(6) DelEmploy/* * 刪除員工 */package com.Manager;import javax.swing.*;import java.awt.*;import java.awt.event.*;public class DelEmploy extends Panel implements ActionListener JTable jt;JScrollPane jsp;JButton jb1, jb2;JPanel jp1, jp2;JLabel jl1;EmployModel em;public DelEmploy() / 北部jl1 = new JLabel("刪除員工", JLabel.CENTER);jl1.setFont(new Font("黑體", Font.BOLD, 30);jp2 = new JPanel();jp2.add(jl1);/ 中部em = new EmployModel();String paras = "1" ;em.queryEmploy("select * from Employinfo where 1 = ?", paras);jt = new JTable(em);jsp = new JScrollPane(jt);/ 南部jp1 = new JPanel();jb1 = new JButton("刪除");jb2 = new JButton("取消");jb1.addActionListener(this);jp1.add(jb1);jp1.add(jb2);this.setLayout(new BorderLayout();this.add(jp2, BorderLayout.NORTH);this.add(jsp, BorderLayout.CENTER);this.add(jp1, BorderLayout.SOUTH);public void actionPerformed(ActionEvent e) if (e.getSource() = jb1) / 返回用戶點中的行int rowNum = this.jt.getSelectedRow();if (rowNum = -1) JOptionPane.showMessageDialog(this, "請選擇一行");return;/ 得到學生編號String Empno = (String) em.getValueAt(rowNum, 0);/ 刪除記錄的sql語句String sql = "delete from Employinfo where Empno = ?"String paras = Empno ;EmployModel temp = new EmployModel();temp.updEmploy(sql, paras);/ 刪除員工成功后,更新員工表em = new EmployModel();String paras1 = "1" ;em.queryEmploy("select * from Employinfo where 1 = ?", paras1);jt.setModel(em);(7) AllEmploy/* * 遍歷所有員工 */package com.Manager;import java.awt.*;import javax.swing.*;public class AllEmploy extends PanelEmployModel em;JTable jt;JScrollPane jsp; JLabel jl1; JPanel jp;public AllEmploy()/北部jp = new JPanel();jl1 = new JLabel("全體員工",JLabel.CENTER);jl1.setFont(new Font("黑體", Font.BOLD, 30); jp.add(jl1); /中部em = new EmployModel();String paras ="1"em.queryEmploy("select * from Employinfo where 1 = ?", paras);jt = new JTable(em);jsp = new JScrollPane(jt);this.setLayout(new BorderLayout(); this.add(jp,BorderLayout.NORTH);this.add(jsp,BorderLayout.CENTER);(8) Examine/* * 員工考核界面 */package com.Manager;import java.awt.*;import java.awt.event.*;import java.sql.ResultSet;import java.util.Vector;import java.sql.*;import javax.swing.*;public class Examine extends Panel implements ActionListener JLabel jl1, jl2, jl3, jl4;JTable jt;JScrollPane jsp;JTextField jtf1, jtf2;Choice ch;JButton jb1, jb2;JPanel jp1, jp2, jp3, jp4;AppraisalModel am;SqlHelper sqh;public Examine() / 北部 為標題文字jp4 = new JPanel();jl1 = new JLabel("員工考核", JLabel.CENTER);jl1.setFont(new Font("黑體", Font.BOLD, 30);jp4.add(jl1);/ 中部am = new AppraisalModel();am.queryAppraisal("select E.Empno,E.Ename,A.Consequence,A.RegDate from "+ "Employinfo as E,Appraisal as A where E.Empno=A.Empno");jt = new JTable(am);jsp = new JScrollPane(jt);/ 監(jiān)聽jtable 點擊表格時獲取點擊的行數(shù) 并通過鼠標點擊事件給 jtf1,jtf2 賦值jt.addMouseListener(new MouseAdapter() public void mouseClicked(MouseEvent e) int rowNum = jt.getSelectedRow();jtf1.setText(String) am.getValueAt(rowNum, 0);jtf2.setText(String) am.getValueAt(rowNum, 1););jl2 = new JLabel("工號:");jl3 = new JLabel("姓名:");jl4 = new JLabel("考核");jtf1 = new JTextField(10);jtf2 = new JTextField(10);jtf1.setEditable(false);jtf2.setEditable(false);/ 實例單選框組件,并賦值ch = new Choice();ch.add("未考核");ch.add("不合格");ch.add("合格");ch.add("優(yōu)秀");jp1 = new JPanel();jp1.add(jl2);jp1.add(jtf1);jp1.add(jl3);jp1.add(jtf2);jp1.add(jl4);jp1.add(ch);jp2 = new JPanel(new BorderLayout();jp2.add(jsp, BorderLayout.CENTER);jp2.add(jp1, BorderLayout.SOUTH);/ 南部jb1 = new JButton("確認");jb2 = new JButton("刷新");jp3 = new JPanel();jb1.addActionListener(this);jb2.addActionListener(this);jp3.add(jb1);jp3.add(jb2);this.setLayout(new BorderLayout();this.add(jp4, BorderLayout.NORTH);this.add(jp2, BorderLayout.CENTER);this.add(jp3, BorderLayout.SOUTH);public void actionPerformed(ActionEvent e) if (e.getSource() = jb1) String Empno = jtf1.getText();String Ename = jtf2.getText();String Consequence = ch.getSelectedItem();/ 先獲取上次考核記錄String sql = "select Consequence from Appraisal where Empno =?"String paras = Empno ;String OldInfo = ""try sqh = new SqlHelper();ResultSet rs = sqh.queryExecute(sql, paras);rs.next();OldInfo = rs.getString(1); catch (Exception e1) e1.printStackTrace(); finally sqh.close();/ 對考核表進行修改 修改考核記錄的sql語句String sql1 = "update Appraisal set Consequence = ? where Empno =?"String paras1 = Consequence, Empno ;AppraisalModel temp = new AppraisalModel();if (temp.updAppraisal(sql1, paras1) JOptionPane.showMessageDialog(this, "考核成功");/ 再把"上次考核記錄"以及"本次操作記錄" 插入到 history表中String sql2 = "insert into History(Empno,Ename,OldInfo,NewInfo) values(?,?,?,?)"String paras2 = Empno, Ename, OldInfo, Consequence ;AppraisalModel temp1 = new AppraisalModel();temp1.updAppraisal(sql2, paras2); else if (e.g

注意事項

本文(java課程設(shè)計(人事管理系統(tǒng)).doc)為本站會員(jian****018)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!