当前位置: 魅力文档网 > 范文大全 > 公文范文 >

java课程设计(人事管理系统)

| 来源:网友投稿

 人事管理系统 一、系统需求分析:误错ﻩ 错误! 未定义书签。

 (1) 系统得功能设计误错ﻩ 错误! 未定义书签。

 (2)误错ﻩ构结能功统系ﻩ 错误! 未定义书签。

 (3) 数据库设计误错ﻩ 错误! 未定义书签。

 二、 功能模块开发 .................................................................................... 错误! 未定义书签。

 (1)

 查询人员信息界面误错ﻩ 错误! 未定义书签。

 (2)误错ﻩ面界工员加添ﻩ 错误! 未定义书签。

 (3)误错ﻩ面界息信工员改修ﻩ 错误! 未定义书签。

 (4)

 删除员工界面 ........................................................................... 错误! 未定义书签。

 (5)误错 ....................................................................................面界核考工员ﻩ 错误! 未定义书签。

 (6)

 员工考核历史记录界面 ........................................................... 错误! 未定义书签。

 三、 各个类说明 ........................................................................................ 错误! 未定义书签。

 四、 程序代码误错ﻩ 错误! 未定义书签。

 (1)误错ﻩreganaMﻩ 错误! 未定义书签。

 (2)误错 ................................................................................ yolpmEdraCﻩ 错误! 未定义书签。

 (3)

 SelEmploy误错ﻩ 错误! 未定义书签。

 (4)

 AddEmploy误错ﻩ 错误! 未定义书签。

 (5)误错 .......................................................................... yolpmEesiveRﻩ 错误! 未定义书签。

 i误错ﻩgolaiDdpUﻩ 错误! 未定义书签。

 (6)误错 .............................................................................. yolpmEleDﻩ 错误! 未定义书签。

 (7)误错 ......................................................................................yolpmEllAﻩ 错误! 未定义书签。

 (8)误错 ......................................................................................enimaxEﻩ 错误! 未定义书签。

 (9)误错 ......................................................................................... yrotsiHﻩ 错误! 未定义书签。

 (10)误错 .............................................................................. ledoMyolpmEﻩ 错误! 未定义书签。

 (11)误错ﻩledoMlasiarppAﻩ 错误! 未定义书签。

 (12)

 SqlHelper误错ﻩ 错误! 未定义书签。

 一、系统需求分析: (1)

 系统得功能设计 i 员工信息管理:员工信息管理包括对员工基本信息与情况进行查询、添加、删除与修改及部门管理 ii 员工考核管理:包括对员工得考核情况进行操作,还可以对历史考核情况进行浏览 (2)

 系统功能结构 人事管理得系统结构功能结构如图所示:

 (3)

 数据库设计 员工基本表(Employinfo) 名称 字段名称 数据类型 主键 非空 工号 Empno varchar(10) Yes Yes 姓名 Ename varchar(10)

 No

 yes 性别 Sex varchar(4)

 No

 yes 出生年月 Birthday Datetime No

 Yes 部门 DeptNo Char(10)

 No

 Yes 职务 Ejob Char(20) No

 Yes 工资 Sal float No

 Yes 员工考核表(Appraisal)

 名称 字段名称 数据类型 主键 非空 工号 Empno va r c h ar(10)

 yes yes 考核 Consequence varchar(10)

 no yes 变更日期 RegDate datetime No

 Yes

 考核历史记录(History)

 名称 字段名称 数据类型 主键 非空 流水号 JourNo Int Yes yes 工号 Empno varchar(10)

 no yes 姓名 Ename v a rchar(10) No

 Yes

 上次考核 OldInfo varchar (10) No

 Yes

 本次考核 NewInfo varchar(10)

 No

 Yes

 变更日期 RegDate datetime No

 Yes

 二. 功能模块开发 (1)

 查询人员信息界面

  实例一个 SelEmploy 类,当点击“查询"时调用 EmployModel类得 queryEmploy 方法实现查询

 (2)

 添加员工界面

  实例一个 AddEmploy 类当点击“添加”时调用EmployModel类得 updEmploy 方法实现添加功能

 (3)

 修改员工信息界面

 实例一个 ReviseEmploy 类当点击“修改”时,先调用 UpdDialo弹跳出一个修改信息对话框,信息修改完毕后, 调用EmployModel类得updEmploy 方法实现修改功能

 (4)

 删除员工界面

 实例一个DelEmploy 类当点击“删除”时调用EmployModel类得updEmploy方法实现删除功能

 (5)

 员工考核界面

 实例一个Examine 类当点击“确认”时调用 AppraisalModel

 类得 updAppraisal 方法来完成考核功能

 (6)

 员工考核历史记录界面

 实例一个History 类当点击时调用 AppraisalModel 类得 updAppraisal 方法来完成考核功能

 三.各个类说明 类之间得关系图:

  1. Manager类 Manager 类得一个实例,从而生成了人事管理系统得界面,用 JSplitPane 类将整个界面分为左右两个部分.其中左侧实现了人事管理系统得功能树,采用 JTree类构建,同时实现了 TreeSelectionListener 接口,定义了该接口所必须实现得valueChanged(TreeSelectionEvent e)方法,JSplitPane 右边加入 卡片布局CardEmploy 类。当 JTree 得TreeSelectionEvent事件发生时,调用 CardEmploy 得 c、show 方法

  切换不同卡片,实现不同得管理界面。

 2. CardEmploy类 CardEmploy为卡片布局类得面板,主要功能就是添加各个界面得卡片,当JTree 得 TreeSelectionEvent 事件发生时。切换不同得卡片 3. EmployModel、AppraisalModel类 这两个类继承了 AbstractTableModel,主要实现得功能就是,存放调用 sqlhelper 类得到得数据。可以通过调用 sqlhelper 实现 增 删 查 改 功能

 4. SqlHelpe r 类

 主要就就是连接数据库得一些基础操作 就是,方便代码修改,重复使用

 5. SelEmplo y

 这个类继承Panel,为“查询员工”得界面。

 实现了 Actionlistener

 接口,当ActionEvent 事件发生时,调用 EmployModel 类得queryEmploy 方法实现查询 6. AddEmploy、ReviseEmploy、DelEmploy类 这些类继承 Pane,分别为“添加员工信息”“修改员工信息”“删除员工信息”得界面,

 这些类实现了 Actionlistener 接口,当ActionEvent 事件发生时,调用 EmployModel类得 updEmploy 方法实现添加、查询、删除、功能 7. Examine类 这个类继承 Panel,为“考核员工”界面。

 这个类实现了 Actionlistener 接口,当 ActionEvent 事件发生时,(1)先通过调用AppraisalModel 得 queryAppraisal 获取上次考核成绩,(2)修改Appraisal表得考核成绩(3)再把上次考核成绩跟本次考核成绩加到History表中 8. History 这个类主要就是把History 表中得信息显示到界面上. 四.程序代码 (1)

 Manager

 p ac ka ge 、Manager; impo rt java、awt、*; import javax、swing、*; import javax、swing、event、TreeSelectionEvent; impo rt javax、swing、event、TreeSelectionListener; i mport javax、swing、tree、*; impor t java、awt、event、*; public class Manager extend s JFrame i mp lem ents TreeSelectionListener {

 ;pj lenaPJﻩ JSplitPane js;

  ;psj enaPllorcSJﻩ JTree tree;

 ,4_1t ,3_1t ,2_1t ,1_1t ,2t ,1t ,toor edoNeerTelbatuMtluafeDﻩt1_5, t2_1,

  ﻩ t2_2;

 CardEmploy ae;

 ;me ledoMyolpmEﻩpﻩ pu blic st ati c void main(String[] args) {

 ﻩ Manager manager = new Manager();

 }ﻩ publi c Manager() {

  // 值赋点结个各得树给ﻩ ﻩ root = new DefaultMutableTreeNode("人事管理系统”);

  ;)"理管息信本基”(edoNeerTelbatuMtluafeD wen = 1tﻩen = 1_1tﻩﻩ ew DefaultMutableTreeNode(”查询员工”);

 n = 2_1tﻩ new DefaultMutableTreeNode("添加员工");

  ;)”息信工员改修”(edoNeerTelbatuMtluafeD wen = 3_1tﻩ

 t1_4 = new DefaultMutableTreeNode("删除员工资料”);

 wen = 5_1tﻩ new DefaultMutableTreeNode("查询全体员工”);

  t2 = n ew DefaultMutableTreeNode("人员考核管理”);

 ;)”核考员人"(edoNeerTelbatuMtluafeD wen = 1_2tﻩﻩ ﻩ t2_2 = new DefaultMutableTreeNode("考核历史查询");

 ;)1_1t(dda、1tﻩﻩ ﻩ t1、add(t1_2);

  ;)3_1t(dda、1tﻩ

 ;)4_1t(dda、1tﻩ ;)5_1t(dda、1tﻩﻩ ﻩ t2、add(t2_1);

 ;)2_2t(dda、2tﻩﻩ

 root、add(t1);

 ﻩ root、add(t2);

 n = eertﻩ new JTree(root);

 ﻩ // 对树进行监听

 ﻩ tree、addTreeSelectionListener(this);

  // 实例化CardEmploy面板 并加到jsplitpane得边

 wen = eaﻩ w CardEmploy();

 ﻩ js = n ew JSplitPane();

 ﻩ js、setLeftponent(tree);

 ;)ea(tnenopthgiRtes、sjﻩﻩ ihtﻩ this、getContentPane()、add(js);

 ﻩ this、setTitle("人事管理系统”);

 tﻩ th is、setVisible( true);

 tﻩ thi s、setSize(600, 500);

 tﻩ this、setDefaultCloseOperation(JFrame、EXI T _ON_C L OSE);

  }ﻩupﻩ ubl ic void valueChanged(TreeSelectionEvent e)

 {

  // 获取点击结点名称

 )edoNeerTelbatuMtluafeD( = htapd edoNeerTelbatuMtluafeDﻩﻩtree

 ﻩ

 ﻩ 、getLastSelectedPathponent();

 // 面界同不换切点结同不击点过通ﻩﻩ fiﻩ if (dpath、equals(t1_1)) {

  ;)”1” ,ea(wohs、c、eaﻩﻩ

 } else i f (dpath、equals(t1_2)) {

 ﻩ

 ae、c、show(ae, "2");

 }eﻩﻩ else if (dpath、equals(t1_3)) { ﻩ;)"3" ,ea(wohs、c、eaﻩ }eﻩﻩ else if (dpath、equals(t1_4))

 {

  ﻩ ae、c、show(ae, "4”);

 ﻩ } else i f (dpath、equals(t1_5))

 {

  ;)"5" ,ea(wohs、c、eaﻩﻩ

 } { ))1_2t(slauqe、htapd( fi esleﻩ ﻩ

 ;)”6" ,ea(wohs、c、eaﻩ ﻩ } e lse i f (dpath、equals(t2_2))

 {

  ﻩ ae、c、show(ae, "7”);

  }ﻩ }ﻩ} (2)

 CardEmploy /**

 * 用卡片布局设置各个界面

 */ pac ka ge 、Manager; i mport javax、swing、*; i mport java、awt、*; p ubli c c lass CardEmploy e xte nds Panel{

 CardLayout c;

  //查询表

 SelEmploy selE; // 表加添ﻩ ;Edda yolpmEddAﻩ

 //修改员工信息表

  ReviseEmploy revE;

  //删除员工表格

  DelEmploy delE;

  //所有员工信息

  AllEmploy allE;

 //员工考核表

  Examine exaE;

  //历史记录界面

  History His;

  publi c CardEmploy()

  {

 //查询员工表

 selE = new SelEmploy();

 ﻩ //添加员工表

  addE = new AddEmploy();

  // 息信工员改修ﻩ

  ;)(yolpmEesiveR wen = Everﻩ

 //删除员工表格

  en = Eledﻩ ew DelEmploy();

  //所有员工信息

  en= Ellaﻩ ew AllEmploy();

  //员工考核表

  exaE = n ew Examine();

  //历史记录界面

  His = ne w History();

  JPanel jp = n ew JPanel();

  // 局布片卡为

 板面yolpmedrac义定ﻩ

 //把各个面板加入到C得卡片布局中

  wen = cﻩ w CardLayout();

  ihtﻩ is、setLayout(c);

  htﻩ his、add(selE,"1");

 this、add(addE,”2”);

  htﻩ his、add(revE,”3");

 this、add(delE,"4");

  sihtﻩ s、add(allE,"5");

 ;)”6”,Eaxe(dda、sihtﻩ

  this、add(His,”7");

  } } (3)

 SelEmploy /**

 * SelEmploy 类

  设置查询员工界面

 */ pa ckage 、Manager; import java、awt、*; im port javax、swing、*; imp ort java、awt、event、*; public cla ss SelEmploy e xtend s Panel im plemen ts ActionListe

 ner {

 ;me ledoMyolpmEﻩ JLabel jl;

 JTextField jtf;

 ;bj nottuBJﻩ JTable jt;

 ;psj enaPllorcSJﻩ ;1pj lenaPJﻩ public SelEmploy()

 {

  // 部北ﻩ

 jp1 = new JPanel();

 ;)”:号工员入输”(lebaLJ wen = ljﻩﻩ wen = ftjﻩ w JTextField(20);

  ;)”询查"(nottuBJ wen = bjﻩ

 // 对查询按钮监听

 siht(renetsiLnoitcAdda、bjﻩ s);

 ;)lj(dda、1pjﻩﻩ

 jp1、add(jtf);

  jp1、add(jb);

 // 部中ﻩﻩ wen = meﻩ w EmployModel();

  String[] paras = { ”1" };

 ﻩ em、queryEmploy(”select * from Employinfo where 1 = ?", paras);

 ﻩ jt = ne w JTable(em); n = psjﻩﻩ new JScrollPane(jt); sihtﻩﻩ s、setLayout(new BorderLayout());

 、tuoyaLredroB ,1pj(dda、sihtﻩ NORTH );

 ;)RETNEC、tuoyaLredroB ,psj(dda、sihtﻩﻩ } cilbupﻩ ic vo id actionPerformed(ActionEvent e) { fiﻩﻩ f (e、getSource()

 == jb) { ﻩt = eman gnirtSﻩ th is、jtf、getText()、trim(); ﻩ;”? = onpmE erehw ofniyolpmE morf * tceles” = lqs gnirtSﻩ

 ;} eman { = sarap ][gnirtSﻩﻩ

 ﻩ em = ne w EmployModel();

  ;)sarap ,lqs(yolpmEyreuq、meﻩﻩ

 // 表新更功成找查ﻩﻩ ﻩ

 jt、setModel(em);

 ﻩ }

 }ﻩ} (4)

 AddEmploy

 p ackage 、Manager; impor t java、awt、*; impor t javax、swing、*; import java、awt、event、*; pu bl ic cla ss AddEmploy exte nds Panel imple me nts ActionListener {

 JLabel jl, jl1, jl2, jl3, jl4, jl5, jl6, jl7;

 ;2bj ,1bj nottuBJﻩ ;7ftj ,6ftj ,5ftj ,4ftj ,3ftj ,2ftj ,1ftj dleiFtxeTJﻩ ;4pj ,3pj ,2pj ,1pj lenaPJﻩ EmployModel em; bupﻩ bl ic AddEmploy() {

 en = 1ljﻩ ew JLabel("工号:");

  jl2 = new JLabel("姓名:"); n = 3ljﻩﻩ new JLabel("性别:”);

  ;)":月年生出"(lebaLJ wen = 4ljﻩen = 5ljﻩﻩ ew JLabel(”部门:”);

 ﻩ jl6 = ne w JLabel("职位:");

 ;)":资工"(lebaLJ wen = 7ljﻩﻩ

 jtf1 = n ew JTextField(20);

 ;)02(dleiFtxeTJ wen = 2ftjﻩﻩ

 ;)02(dleiFtxeTJ wen = 3ftjﻩ

 jtf4 = new JTextField(20);

  jtf5 = new JTextField(20);

  ;)02(dleiFtxeTJ wen = 6ftjﻩn = 7ftjﻩﻩ new JTextField(20); en = 1bjﻩﻩ new JButton(”添加"); wen = 2bjﻩﻩ w JButton("取消");

  // 监听„添加" „取消‟按钮

 t(renetsiLnoitcAdda、1bjﻩ thi s);

 ﻩ jb2、addActionListener( this);

 ﻩ jp1 = new JPanel(new GridLayout(7, 1));

 ﻩ jp2 = n ew JPanel(new GridLayout(7, 1));

  jp3 = new JPanel();

 ;)1lj(dda、1pjﻩﻩ

 jp1、add(jl2);

 ﻩ jp1、add(jl3);

 ﻩ jp1、add(jl4);

 ﻩ jp1、add(jl5);

 ﻩ jp1、add(jl6);

  ;)7lj(dda、1pjﻩ ;)1ftj(dda、2pjﻩﻩ

 ;)2ftj(dda、2pjﻩ ;)3ftj(dda、2pjﻩﻩ

  ;)4ftj(dda、2pjﻩﻩ ﻩ jp2、add(jtf5);

 ;)6ftj(dda、2pjﻩﻩ

 ;)7ftj(dda、2pjﻩ ;)1bj(dda、3pjﻩﻩ

 ;)2bj(dda、3pjﻩ

 jp4 = new JPanel( new BorderLayout());

 ;)TSEW、tuoyaLredroB ,1pj(dda、4pjﻩﻩ

 jp4、add(jp2, BorderLayout、EAST);

  jp4、setSize(300, 300);

  t his、setLayout(new FlowLayout());

  t his、add(jp4);

 sihtﻩ s、add(jp3);

 }ﻩcilbupﻩ ublic void actionPerformed(ActionEvent e)

 {

 iﻩ if (e、getSource() == jb1) {

 //ﻩ加添得格表对现实,法方 yolpmEdpu得里 ledoMyolpmE用调ﻩ )?,?,?,?,?,?,?(seulav ofniyolpmE otni tresni" = lqs gnirtSﻩﻩ"; ﻩ、3ftj ,)(txeTteg、2ftj ,)(txeTteg、1ftj { = sarap ][gnirtSﻩgetText(),

 jtf4、getText(), jtf5、getText(), jtf6、getText(),

 ﻩ

 ;} )(txeTteg、7ftjﻩﻩ

 en = meﻩ ew EmployModel();

  ﻩ if (em、updEmploy(sql, paras))

 {

  ﻩ

 // 框话对得“功成加添"出弹则,时功成工员新加添当ﻩ

  、enaPnoitpOJﻩ s h o wMessageDia l o g (this, "添加成功”);

 }sleﻩ lse if (!em、updEmploy(sql, paras)) {

  ﻩ s、enaPnoitpOJﻩ h owM e ssageD i alo g (this, "添加失败”);

 }

  ﻩ // 当新员工加入成功后,要把新加入员工得工号加到考核表

  ;)(ledoMlasiarppA wen = pmet ledoMlasiarppAﻩﻩ ﻩ

 String sql1 = "insert into Appraisal(Empno) values(?)";

  ;} )(txeTteg、1ftj { = 1sarap ][gnirtSﻩﻩﻩ;)1sarap ,1lqs(lasiarppAdpu、pmetﻩ}esleﻩﻩ e

 if(e、getSource() == jb2){ ﻩ;)""(txeTtes、1ftjﻩ

  jtf2、setText("”);

 ﻩ

 jtf3、setText(””);

 ﻩ

 ;)”"(txeTtes、4ftjﻩ

 ;)””(txeTtes、5ftjﻩﻩ

 ;)""(txeTtes、6ftjﻩﻩ

  ;)”"(txeTtes、7ftjﻩ

 }

 }ﻩ} (5)

 ReviseEmploy pa cka ge 、Manager; /**

 * 修改员工界面

 */ im port java、awt、*; import java、awt、event、*; import javax、swing、*; public class ReviseEmploy ex tends Panel imp leme nts ActionListener {

 JTable jt;

 JScrollPane jsp;

 JButton jb1, jb2;

 ;2pj,1pj lenaPJﻩ ;me ledoMyolpmEﻩ

 JLabel jl1; lbupﻩ blic ReviseEmploy() {

  jl1 = new JLabel("修改员工信息",JLabel、 C E N T E R);

 ﻩ jl1、setFont(new Font("宋体”, Font、B O LD, 28)); en = 2pjﻩﻩ new JPanel();

 ;)1lj(dda、2pjﻩﻩ ﻩ em = new EmployModel();

 ﻩ String[] paras = { "1” };

  em、queryEmploy("select * from Employinfo where 1 = ?”, paras);

  ;)me(elbaTJ wen = tjﻩn = psjﻩﻩ ne w JScrollPane(jt);

  jb1 = new JButton(”修改”);

 ﻩ jb2 = new JButton(”刷新");

 ﻩ // 对两个按钮进行监听

 ht(renetsiLnoitcAdda、1bjﻩ hi s);

 ht(renetsiLnoitcAdda、2bjﻩ his);

 tﻩ this、setLayout(n ew BorderLayout());

  ;)(lenaPJ wen = 1pjﻩ

 jp1、add(jb1);

 ;)2bj(dda、1pjﻩﻩ ﻩ th is、add(jp2,BorderLayout、NORT H );

 ﻩ this、add(jsp, BorderLayout、CENTER);

 ﻩ this、add(jp1, BorderLayout、SO U TH);

  }ﻩ pu blic vo id actionPerformed(ActionEvent e)

 { fiﻩﻩ f (e、getSource()

 == jb1)

 {

 niﻩﻩ nt rowNum = th is、jt、getSelectedRow();

  ﻩ if (rowNum == -1)

 {

 ﻩ

 ohs、enaPnoitpOJﻩ w M e ss ag eDi a log(th is, ”请选择一行”);

  erﻩﻩ et urn;

 ﻩ

 }

  // 框话对改修出弹ﻩﻩ

 ﻩ n ew UpdDialog(em, rowNum);

  } { )2bj == )(ecruoSteg、e( fi esleﻩ

 // 格表得中面界改修新刷ﻩﻩﻩ;)(ledoMyolpmE wen = meﻩﻩ;} "1" { = 1sarap ][gnirtSﻩﻩrap ,"? = 1 erehw ofniyolpmE morf * tceles”(yolpmEyreuq、meﻩas1);

 ﻩ

 ;)me(ledoMtes、tjﻩ ﻩ }

 }ﻩ}

 i UpdDialog packag e 、Manager; /**

 * 弹出修改界面

 */ import javax、swing、*; impo rt java、awt、*; i mport java、awt、event、*; pu bli c c las s UpdDialog e xtend s JDialog impl emen ts ActionListener {

 ;7lj ,6lj ,5lj ,4lj ,3lj ,2lj ,1lj lebaLJﻩ JButton jb1, jb2;

 ;7ftj ,6ftj ,5ftj ,4ftj ,3ftj ,2ftj ,1ftj dleiFtxeTJﻩ ;3pj ,2pj ,1pj lenaPJﻩ public UpdDialog(EmployModel em, int rowNums) {

  jl1 = new JLabel("工号:"); n = 2ljﻩﻩ new JLabel(”姓名:”);

 wen = 3ljﻩ ew JLabel(”性别:”); wen = 4ljﻩﻩ w JLabel("出生年月:”); wen = 5ljﻩﻩ new JLabel(”部门:”);

 ﻩ jl6 = n ew JLabel("职位:”); wen = 7ljﻩﻩ w JLabel("工资:"); wen = 1ftjﻩﻩ ew JTextField(20);

 jtf2 = n ew JTextField(30); n = 3ftjﻩﻩ ne w JTextField(30);

 ﻩ jtf4 = ne w JTextField(30);

 ;)03(dleiFtxeTJ wen = 5ftjﻩﻩwen = 6ftjﻩﻩ w JTextField(30);

 ﻩ jtf7 = new JTextField(30);

 // 据数dleiftxetj化始初ﻩﻩ

 ;))0 ,smuNwor(tAeulaVteg、me )gnirtS((txeTtes、1ftjﻩ af(elbatidEtes、1ftjﻩ false);

  ;))1 ,smuNwor(tAeulaVteg、me )gnirtS((txeTtes、2ftjﻩ

 ;))2 ,smuNwor(tAeulaVteg、me )gnirtS((txeTtes、3ftjﻩ

 ;))3 ,smuNwor(tAeulaVteg、me )gnirtS((txeTtes、4ftjﻩ ;))4 ,smuNwor(tAeulaVteg、me )gnirtS((txeTtes、5ftjﻩﻩ ﻩ jtf6、setText((String) em、getValueAt(rowNums, 5));

 ﻩ jtf7、setText((String) em、getValueAt(rowNums, 6));

  ;)”改修"(nottuBJ wen = 1bjﻩ ﻩ jb2 = ne w JButton("取消");

  // 听监钮按个两对ﻩ

 jb1、addActionListener(this);

  ;)siht(renetsiLnoitcAdda、2bjﻩ ;)(lenaPJ wen = 1pjﻩﻩen = 2pjﻩﻩ ew JPanel(); n = 3pjﻩﻩ ne w JPanel();

 // 局布置设ﻩﻩ ;))1 ,7(tuoyaLdirG wen(tuoyaLtes、1pjﻩﻩ

 jp2、setLayout(n ew GridLayout(7, 1));

  // 件组加添ﻩ ;)1lj(dda、1pjﻩﻩ

 ;)2lj(dda、1pjﻩ ﻩ jp1、add(jl3);

 ﻩ jp1、add(jl4);

 ﻩ jp1、add(jl5);

 ;)6lj(dda、1pjﻩﻩ ﻩ jp1、add(jl7);

  jp2、add(jtf1);

 ;)2ftj(dda、2pjﻩﻩ

 jp2、add(jtf3);

  ;)4ftj(dda、2pjﻩ

 jp2、add(jtf5);

 ﻩ jp2、add(jtf6);

 ;)7ftj(dda、2pjﻩﻩ ;)1bj(dda、3pjﻩﻩ

 ;)2bj(dda、3pjﻩhtﻩﻩ hi s、add(jp1, BorderLayout、 W EST);

 NEC、tuoyaLredroB ,2pj(dda、sihtﻩﻩ TE R);

 ﻩ this、add(jp3, BorderLayout、SO U T H );

 ﻩ th is、setSize(300, 250); sihtﻩﻩ s、setVisible(t ru e);

  ;)002 ,002(noitacoLtes、sihtﻩ n(renetsiLwodniWdda、sihtﻩ new WindowAdapter() {

  ﻩ p ublic vo id windowClosing(WindowEvent e)

 {

  ﻩ

 ;)(esopsidﻩ ﻩ

 }ﻩ

 ;)}ﻩ }ﻩov cilbupﻩ oid actionPerformed(ActionEvent e) {

  { )1bj == )(ecruoSteg、e( fiﻩ //

 值得入注待为 sarap,句语 lqs 得息信工员改修ﻩﻩ

 ﻩ String sql = "update Employinfo set "

  " + jE ,? = oNtpeD ,? = yadhtriB,? = xeS,? = emanEﻩﻩob = ? ,Sal=? where Empno = ?”;

  、4ftj ,)(txeTteg、3ftj ,)(txeTteg、2ftj { = sarap ][gnirtSﻩgetText(),

  ﻩ,)(txeTteg、7ftj ,)(txeTteg、6ftj ,)(txeTteg、5ftjﻩ

 ﻩ

 ;} )(txeTteg、1ftjﻩﻩ

 ﻩ EmployModel temp = n ew EmployModel();

 //ﻩ框话对"功成改修“出弹则 功成行运句语改修果如ﻩ

  if (temp、updEmploy(sql, paras))

 {

 ﻩ hs、enaPnoitpOJﻩﻩ o wMessag e Dia l og(t his, "修改成功");

 }ﻩﻩﻩ

 ihtﻩ is、dispose();

 ﻩ } else if (e、getSource()

 == jb2)

 {

 ﻩ

 // 关闭对话框

 ;)(esopsid、sihtﻩ

 }

 } } (6)

 DelEmploy /**

 * 删除员工

 */ packa ge 、Manager; import javax、swing、*; i mport java、awt、*; impor t java、awt、event、*; p ubl ic class DelEmploy e xten ds Panel imp lem ents ActionListener {

  ;tj elbaTJﻩ ;psj enaPllorcSJﻩ ;2bj ,1bj nottuBJﻩ JPanel jp1, jp2;

 ;1lj lebaLJﻩ EmployModel em; upﻩ ub lic DelEmploy()

 {

 // 部北ﻩﻩ

 jl1 = ne w JLabel("删除员工”, JLabel、CE NT E R ); n(tnoFtes、1ljﻩﻩ new Font(”黑体”, Font、B OL D, 30));

 ﻩ jp2 = new JPanel();

 ;)1lj(dda、2pjﻩﻩ

 // 中部

  em = ne w EmployModel();

  String[] paras = { ”1" };

 ,”? = 1 erehw ofniyolpmE morf * tceles"(yolpmEyreuq、meﻩﻩparas);

 ﻩ jt = new JTable(em);

 en = psjﻩ ew JScrollPane(jt);

  // 部南ﻩen = 1pjﻩﻩ new JPanel();

  jb1 = new JButton("删除”);

  jb2 = new JButton(”取消”);

 t(renetsiLnoitcAdda、1bjﻩ this);

  ;)1bj(dda、1pjﻩ ﻩ jp1、add(jb2);

 ﻩ thi s、setLayout(new BorderLayout());

 ihtﻩ his、add(jp2, BorderLayout、NO R T H );

 ﻩ t his、add(jsp, BorderLayout、CENTER); htﻩﻩ his、add(jp1, BorderLayout、SOU T H);

 }

 publi c void actionPerformed(ActionEvent e) {

 ﻩ i f (e、getSource()

 == jb1) {

 ﻩ

 // 返回用户点中得行

 ﻩ

 int rowNum = this、jt、getSelectedRow();

 fiﻩﻩ if (rowNum == -1) { asseMwohs、enaPnoitpOJﻩﻩ g eD i alo g (t his, "请选择一行"); ﻩ

 ;nruterﻩﻩ

  }ﻩ

  // 号编生学到得ﻩ

 ;)0 ,muNwor(tAeulaVteg、me )gnirtS( = onpmE gnirtSﻩﻩ

  // 删除记录得sql语句 ﻩ;"? = onpmE erehw ofniyolpmE morf eteled" = lqs gnirtSﻩ

  String[] paras = { Empno };

  ﻩ wen = pmet ledoMyolpmEﻩ w EmployModel();

  ;)sarap ,lqs(yolpmEdpu、pmetﻩﻩ ﻩ

 // 删除员工成功后,更新员工表

 wen = meﻩﻩ w EmployModel();

 String[] paras1 = { "1" };

 ﻩ

 em、queryEmploy("select * from Employinfo where 1 = ?", paras1);

  ﻩ jt、setModel(em);

 }ﻩﻩ }ﻩ} (7)

 AllEmploy /**

 * 遍历所有员工

 */ pa ck age 、Manager; im por t java、awt、*; import javax、swing、*; publi c class AllEmploy ex tends Panel{

 ;me ledoMyolpmEﻩ JTable jt;

 JScrollPane jsp;

  JLabel jl1;

  JPanel jp; lbupﻩ lic AllEmploy()

 {ﻩ// 部北ﻩﻩ ;)(lenaPJ wen = pjﻩﻩn = 1ljﻩﻩ new JLabel("全体员工”,JLabel、CEN TE R);

 ﻩ jl1、setFont(n ew Font("黑体", Font、B O LD, 30));

  jp、add(jl1);

  //中部

 ﻩ em = n ew EmployModel();

  String []paras ={"1"};

 ﻩ em、queryEmploy("select * from Employinfo where 1 = ?", paras);

 ﻩ n = tjﻩ ne w JTable(em);

 wen = psjﻩ w JScrollPane(jt);

 ;))(tuoyaLredroB wen(tuoyaLtes、sihtﻩﻩ

  th is、add(jp,BorderLayout、NO RT H);

 ﻩ t his、add(jsp,BorderLayout、 CE NTER);

 } }

 (8)

 Examine /**

 * 员工考核界面

 */ pac kage 、Manager; import java、awt、*; import java、awt、event、*; import java、sql、ResultSet; import java、util、Vector; i mport java、sql、*; import javax、swing、*; public class Examine ex tends Panel imple ments ActionListener {

 ;4lj ,3lj ,2lj ,1lj lebaLJﻩ JTable jt;

 ;psj enaPllorcSJﻩ JTextField jtf1, jtf2;

 ;hc eciohCﻩ JButton jb1, jb2;

 ;4pj ,3pj ,2pj ,1pj lenaPJﻩ AppraisalModel am;

 SqlHelper sqh;

 public Examine() {

  // 字文题标为 部北ﻩ

 jp4 = n ew JPanel();

 ﻩ jl1 = n ew JLabel(”员工考核”, JLabel、C ENTE R);

  jl1、setFont(new Font("黑体", Font、BOLD, 30));

  ;)1lj(dda、4pjﻩ ﻩ // 中部

 ﻩ am = n ew AppraisalModel(); ,ecneuqesnoC、A,emanE、E,onpmE、E tceles”(lasiarppAyreuq、maﻩﻩA、RegDate from "

 " + npmE、A=onpmE、E erehw A sa lasiarppA,E sa ofniyolpmEﻩﻩo");

 ﻩ jt = new JTable(am);

 ;)tj(enaPllorcSJ wen = psjﻩﻩ

 // 监听jtable 点击表格时获取点击得行数 并通过鼠标点击事件给 jtf1,jtf2 赋值

  { )(retpadAesuoM wen(renetsiLesuoMdda、tjﻩ ﻩ pﻩ public voi d mouseClicked(MouseEvent e)

 {

 ﻩ tniﻩﻩ nt rowNum = jt、getSelectedRow();

  ﻩ

 ;))0 ,muNwor(tAeulaVteg、ma )gnirtS((txeTtes、1ftjﻩ

 ;))1 ,muNwor(tAeulaVteg、ma )gnirtS((txeTtes、2ftjﻩ }ﻩﻩﻩ

 });

 en = 2ljﻩ ew JLabel("工号:");

  jl3 = new JLabel("姓名:”);

  jl4 = n ew JLabel(”考核”); en = 1ftjﻩﻩ ew JTextField(10);

 wen = 2ftjﻩ ew JTextField(10);

  jtf1、setEditable(f alse); laf(elbatidEtes、2ftjﻩﻩ lse);

  // 值赋并,件组框选单例实ﻩ ﻩ ch = n ew Choice();

 ﻩ ch、add("未考核");

 ﻩ ch、add("不合格”);

  ;)"格合"(dda、hcﻩ ;)”秀优"(dda、hcﻩﻩ n = 1pjﻩ new JPanel();

  jp1、add(jl2);

 ﻩ jp1、add(jtf1);

 ﻩ jp1、add(jl3);

 ﻩ jp1、add(jtf2);

 ;)4lj(dda、1pjﻩﻩ ﻩ jp1、add(ch);

  jp2 = new JPanel(new BorderLayout()); EC、tuoyaLredroB ,psj(dda、2pjﻩﻩ N TER); S、tuoyaLredroB ,1pj(dda、2pjﻩﻩ O UTH);

 ﻩ // 南部

  ;)"认确"(nottuBJ wen = 1bjﻩ

 jb2 = new JButton("刷新");

  jp3 = new JPanel();

  ;)siht(renetsiLnoitcAdda、1bjﻩt(renetsiLnoitcAdda、2bjﻩﻩ this);

 ﻩ jp3、add(jb1);

  jp3、add(jb2); tﻩﻩ this、setLayout(new BorderLayout());

  th is、add(jp4, BorderLayout、 NOR T H );

 ﻩ th is、add(jp2, BorderLayout、CENTE R );

 ﻩ this、add(jp3, BorderLayout、S O UTH);

 } bupﻩ blic void actionPerformed(ActionEvent e)

 {

 { )1bj == )(ecruoSteg、e( fiﻩﻩ

  ;)(txeTteg、1ftj = onpmE gnirtSﻩﻩ;)(txeTteg、2ftj = emanE gnirtSﻩ ﻩ

 String Consequence = ch、getSelectedItem();

 //

 录记核考次上取获先ﻩﻩﻩnpmE erehw lasiarppA morf ecneuqesnoC tceles” = lqs gnirtSﻩ

 o =?”;

 ﻩ

 String[] paras = { Empno };

  ;"” = ofnIdlO gnirtSﻩﻩ

 ﻩ t ry {

 ﻩ

 ﻩ sqh = n ew SqlHelper();

 ;)sarap ,lqs(etucexEyreuq、hqs = sr teStluseRﻩﻩ

 ﻩﻩ rs、next(); ﻩ

 ;)1(gnirtSteg、sr = ofnIdlOﻩﻩ

  }acﻩ catch (Exception e1)

 {

  ;)(ecarTkcatStnirp、1eﻩ }ﻩﻩfﻩ finall y {

 ;)(esolc、hqsﻩﻩ

  }

 ﻩ

 // 对考核表进行修改 修改考核记录得sql语句

 ? = ecneuqesnoC tes lasiarppA etadpu" = 1lqs gnirtSﻩwhere Empno =?";

 ;} onpmE ,ecneuqesnoC { = 1sarap ][gnirtSﻩ en = pmet ledoMlasiarppAﻩﻩ ew AppraisalModel(); ﻩ{ ))1sarap ,1lqs(lasiarppAdpu、pmet( fiﻩ

 ﻩ eMwohs、enaPnoitpOJﻩ s sageDialo g ( this, "考核成功");

 ﻩ

 }ﻩ

  // 中表yrotsih 到入插 ”录记作操次本"及以"录记核考次上"把再ﻩ ﻩ

 String sql2 = ”insert into History(Empno,Ename,OldInfo,NewInfo) values(?,?,?,?)”;

 neuqesnoC ,ofnIdlO ,emanE ,onpmE { = 2sarap ][gnirtSﻩﻩce };

 ;)(ledoMlasiarppA wen = 1pmet ledoMlasiarppAﻩ

 ;)2sarap ,2lqs(lasiarppAdpu、1pmetﻩﻩ ﻩ } els e i f (e、getSource()

 == jb2) {

  ﻩ // 刷新员工考核表 ﻩﻩen = maﻩ ew AppraisalModel();

 ﻩ

 ;} ”1" { = 3sarap ][gnirtSﻩ

  am、queryAppraisal(”select E、Empno,E、Ename,A、Consequence,A、RegDate from ” " +ﻩﻩﻩnpmE、A=onpmE、E erehw A sa lasiarppA,E sa ofniyolpmEﻩo”);

  htﻩ his、jt、setModel(am);

  }ﻩ }ﻩ} (9)

 History /**

 * 历史记录界面

  */ packa ge 、Manager; impo rt java、awt、*; im port java、awt、event、*; im port javax、swing、*; p ublic class History exte nds Panel im plem en ts ActionListener {

 ;ma ledoMlasiarppAﻩ JTable jt;

 JScrollPane jsp;

 ;1lj lebaLJﻩ ;2pj ,1pj ,pj lenaPJﻩ ;2bj ,1bj nottuBJﻩ pub lic History()

 {

 // 部北ﻩﻩ ﻩ jp = ne w JPanel();

  jl1 = new JLabel(”员工考核历史记录”, JLabel、CENTER);

  jl1、setFont(new Font("黑体", Font、BOL D , 30));

 ;)1lj(dda、pjﻩﻩ // 部中ﻩﻩ ;)(ledoMlasiarppA wen = maﻩﻩ ﻩ String[] paras = { "1" };

  am、queryHistory("select * from History where 1 = ?”, paras);

  ;)ma(elbaTJ wen = tjﻩ

 ;)tj(enaPllorcSJ wen = psjﻩ

 // 部南ﻩ ;)(lenaPJ wen = 2pjﻩﻩ

 jb1 = ne w JButton("清空"); n = 2bjﻩﻩ new JButton("刷新");

 iht(renetsiLnoitcAdda、1bjﻩ his);

 ﻩ jb2、addActionListener( this);

 ﻩ jp2、add(jb1);

  jp2、add(jb2);

 ﻩ this、setLayout( new BorderLayout());

  thi s、add(jp, BorderLayout、 N O RTH );

 ﻩ this、add(jsp, BorderLayout、C E NT E R);

 ihtﻩ his、add(jp2, BorderLayout、 SO UTH);

 }ﻩv cilbupﻩ void actionPerformed(ActionEvent e) { iﻩﻩ if (e、getSource()

 == jb1)

 {

 ﻩ

 // 表新更并 录记史历除删ﻩ

 ﻩ am = ne w AppraisalModel();

 ﻩ

 String[] paras = { ”1” };

 ﻩ;)sarap ,"? = 1 erehw yrotsiH eteled"(lasiarppAdpu、maﻩﻩ,"? = 1 erehw yrotsiH morf * tceles"(yrotsiHyreuq、maﻩparas);

  ﻩ th is、jt、setModel(am);

 ﻩ } else if (e、getSource()

 == jb2)

 {

 ﻩ

 // 格表新刷ﻩ

 wen = maﻩ w AppraisalModel();

 ﻩ

 String[] paras = { ”1" };

  ;)sarap ,"? = 1 erehw yrotsiH morf * tceles"(yrotsiHyreuq、maﻩﻩﻩﻩhtﻩ his、jt、setModel(am);

 }ﻩﻩ } } (10)

 EmployModel /**

 * 重写TableModel

 */ p ack age 、Manager; i mport javax、swing、table、*; imp ort java、sql、*; import java、util、*; pub lic cl as s EmployModel e xte nd s AbstractTableModel{

 ;semaNnmuloc,ataDwor rotceVﻩ// 询查现实ﻩ p ublic v oid queryEmploy(String sql,String []paras)

  {

  SqlHelper sqh = nul l; // 名列得表 放存 semaNnmuloc用ﻩﻩ

 columnNames = new Vector();

 ﻩ columnNames、add(”工号”);

  columnNames、add(”姓名");

 ﻩ columnNames、add("性别");

  ;)"月年生出”(dda、semaNnmulocﻩ ;)"门部”(dda、semaNnmulocﻩﻩ

 ;)"位职”(dda、semaNnmulocﻩ ;)”资工"(dda、semaNnmulocﻩﻩ

 //rowData 存放表格得各行数据

  rowData = ne w Vector();

 ﻩ tr y { ﻩ;)(repleHlqS wen = hqsﻩ ﻩ

 ;)sarap ,lqs(etucexEyreuq、hqs = sr teStluseRﻩ

 ))(txen、sr(elihwﻩﻩ { ﻩﻩ

  ﻩen = gnah rotceVﻩ ew Vector(); ;))1(gnirtSteg、sr(dda、gnahﻩﻩ

 hang、add(rs、getString(2));

  hang、add(rs、getString(3));

 ;))4(gnirtSteg、sr(dda、gnahﻩﻩ ﻩ

  hang、add(rs、getString(5)); ﻩ

 ;))6(gnirtSteg、sr(dda、gnahﻩﻩ ﻩ;))7(gnirtSteg、sr(dda、gnahﻩﻩ

 ;)gnah(dda、ataDworﻩﻩ ﻩ

 }

 }acﻩﻩ atc h (Exception e) {

 e、printStackTrace();

  }f ina lly{ ﻩ;)(esolc、hqsﻩ }ﻩﻩ

 }

  //实现 表格

  增

 修 改

 功能

 public boolean updEmploy(String sql,String []paras)

 {

  n = hqs repleHlqSﻩ ne w SqlHelper();

 ;)sarap ,lqs(etucexEdpu、hqs nruterﻩ }

 publi c int getRowCount()

 {

 ﻩ retu rn this、rowData、size();

 }ﻩpﻩ public String getColumnName(i nt column)

 { uterﻩﻩ return (String)t hi s、columnNames、get(column);

 }

 p ubl ic int getColumnCount() {

 ﻩ re turn this、columnNames、size();

 }ﻩ pu bl ic Object getValueAt( int row, in t column)

 {

 // 值数得格元单个一某得获ﻩ ﻩ return ((Vector)th is、rowData、get(row))、get(column);

 } }

 (11)

 AppraisalModel /**

 * 重写TableModel

  为考核类得table模板

 */ pack age 、Manager; im port javax、swing、table、*; im port java、sql、*;

 import java、util、*; public c lass AppraisalModel extend s AbstractTableModel {

 Vector rowData, columnNames;

 // 询查现实ﻩ p ublic vo id queryAppraisal(String sql)

 {

  SqlHelper sqh = nul l;

 // 名列得表 放存 semaNnmuloc用ﻩﻩ

 columnNames = new Vector();

  columnNames、add("工号");

  ;)”名姓”(dda、semaNnmulocﻩ ﻩ columnNames、add("上次考核");

  ;)"间时核考”(dda、semaNnmulocﻩ

 // rowData 存放表格得各行数据

  rowData = ne w Vector();

 { yrtﻩﻩ

  sqh = n ew SqlHelper(); ﻩ;)lqs(etucexEyreuq、hqs = sr teStluseRﻩ ﻩ

 whil e (rs、next())

 {

 ﻩ Vector hang = new Vector();

  ;))1(gnirtSteg、sr(dda、gnahﻩ ﻩ

  ;))2(gnirtSteg、sr(dda、gnahﻩ

 hang、add(rs、getString(3));

  ﻩﻩ hang、add(rs、getString(4));

 ﻩ

  ;)gnah(dda、ataDworﻩ

 }ﻩﻩ ﻩ } c at ch (Exception e)

 {

  ﻩ e、printStackTrace();

  }lanifﻩ nally {

 sqh、close();

 }ﻩﻩ }ﻩ // 查询员工考核历史记录方法 pﻩ public v oid queryHistory(String sql, String[] paras)

 {

 ﻩ SqlHelper sqh = null;

 // 名列得表 放存 semaNnmuloc用ﻩﻩ wen = semaNnmulocﻩ w Vector();

  columnNames、add(”流水号");

  ;)”号工"(dda、semaNnmulocﻩ ;)"名姓"(dda、semaNnmulocﻩﻩ ;)”核考次上"(dda、semaNnmulocﻩﻩ

 ;)"核考次本”(dda、semaNnmulocﻩ

 columnNames、add("更改时间”);

  // rowData 存放表格得各行数据

 en = ataDworﻩ ew Vector();

 try {

  ﻩ sqh = n ew SqlHelper();

  ;)sarap ,lqs(etucexEyreuq、hqs = sr teStluseRﻩﻩ

  { ))(txen、sr( elihwﻩ

 ﻩ en = gnah rotceVﻩ ew Vector();

 ﻩ hang、add(rs、getString(1));

 ;))2(gnirtSteg、sr(dda、gnahﻩﻩ ﻩ

  hang、add(rs、getString(3));

 ﻩ;))4(gnirtSteg、sr(dda、gnahﻩ

 ﻩ

 ;))5(gnirtSteg、sr(dda、gnahﻩ

 ﻩﻩ hang、add(rs、getString(6));

 ﻩ

  ;)gnah(dda、ataDworﻩ ﻩ

 }ﻩ

 }acﻩ catch (Exception e)

 { ﻩ;)(ecarTkcatStnirp、eﻩ

 } fi nall y {

  ;)(esolc、hqsﻩﻩ ﻩ }

 }

 // 实现 表格 增 修 改 功能

 public boo lea n updAppraisal(String sql, String[] paras) {

 ﻩ SqlHelper sqh = n ew SqlHelper(); rﻩﻩ re turn sqh、updExecute(sql, paras);

 }ﻩ publ ic i nt getRowCount()

 {

  return thi s、rowData、size();

 } bupﻩ ublic String getColumnName(int column) { ruterﻩﻩ turn (String)

 th is、columnNames、get(column);

 } bupﻩ bl ic in t getColumnCount() {

 rﻩ return t his、columnNames、size();

 }

 pub lic Object getValueAt(int row, int column) {

 // 值数得格元单个一某得获ﻩﻩ

 ret ur n ((Vector) this、rowData、get(row))、get(column);

 } } (12)

 SqlHelper /**

 * 后台

 通过调用SqlHelper实现对sql数据库得各个操作

  */ p ac kage 、Manager; import java、sql、*; pu bl ic class SqlHelper { llun = tc noitcennoCﻩ l; n = sp tnemetatSderaperPﻩ nu ll;

 ;llun = sr teStluseRﻩ String driver = "sun、jdbc、odbc、JdbcOdbcDriver";

 ;"reganaM:cbdo:cbdj" = lru gnirtSﻩ // 作操库据数询查ﻩlbupﻩ lic ResultSet queryExecute(String sql, String[] paras) {

  { yrtﻩ

 ﻩ Class、fo r Name(driver); ﻩeg、reganaMrevirD = tcﻩ t C o nnec t ion(url);

  ;)lqs(tnemetatSeraperp、tc = spﻩﻩ

  fo r (int i = 0; i < paras、length; i++)

 {

 ﻩ;)]i[sarap ,1 + i(gnirtStes、spﻩ

  }

  ;)(yreuQetucexe、sp = srﻩﻩ ﻩ } c atch (Exception e)

 {

  ;)(ecarTkcatStnirp、eﻩﻩ

 }ﻩ

 retur n rs;

 } // 作操库据数询查式入注没ﻩ public ResultSet queryExecute(String sql)

 {

  { yrtﻩ rof、ssalCﻩﻩ N ame(driver);

 ﻩ

 ct = DriverManager、getCon n ec t i o n(url);

  ;)lqs(tnemetatSeraperp、tc = spﻩﻩ

 ;)(yreuQetucexe、sp = srﻩﻩ }tacﻩﻩ tc h (Exception e)

 { ﻩ;)(ecarTkcatStnirp、eﻩ ﻩ }

  return rs;

 }

 // 能功 改 删 增ﻩ publi c bo olean updExecute(String sql, String[] paras) {

 bﻩ bool ea n b = tr ue;

 ﻩ t ry {

 of、ssalCﻩﻩ r Na me (driver);

  、reganaMrevirD = tcﻩ g e t C onn ection(url);

 ps = ct、prepareStatement(sql);

 tni( rofﻩﻩ int i = 0; i < paras、length; i++)

 {

  ﻩ;)]i[sarap ,1 + i(gnirtStes、spﻩ

 }ﻩﻩ ﻩ iﻩ if (ps、executeUpdate()

 != 1)

 ;eslaf = bﻩﻩ } { )e noitpecxE( hctacﻩﻩ ﻩ f = bﻩ fal se;

  ﻩ e、printStackTrace();

 ﻩ } f inally {

 tﻩﻩ th is、close();

  }ﻩ

 return b;

 }

 // 源资库据数闭关 esolc 写重ﻩ p ublic v oi d close()

 {

  { yrtﻩ

  i f (rs != n ull) ﻩ

 ;)(esolc、srﻩﻩ ﻩ

 i f (ps != nu ll)

 ﻩ

  ;)(esolc、spﻩ

 fiﻩ if (ct != nul l)

 ﻩ;)(esolc、tcﻩ ﻩ } catch (Exception e2)

 { ﻩ;)(ecarTkcatStnirp、2eﻩ

 }ﻩ }ﻩ}

 ...


推荐访问:课程设计 人事管理系统 Java

热门排行

大学生对新时代的理解500字9篇

大学生对新时代的理解500字9篇大学生对新时代的理解500字篇1一代人有一代人的长征,代人有一代人的担当。今天,新时代青年面临着难得的建功立业的人生际遇,也

领导班子运行情况报告范文6篇

领导班子运行情况报告范文6篇领导班子运行情况报告范文篇1对x外墙、屋檐瓷砖脱落或渗水的地方进行了全面排查与修复,保障了小区居民的正常生活秩序。下面是天涯涛源

全面从严治党和党风廉政建设5篇

全面从严治党和党风廉政建设5篇全面从严治党和党风廉政建设篇1按照局党组关于全面从严治党和党风廉政建设工作的各项要求,严格执行“三严三实”各项要求,坚决从点滴

组织生活会存在问题原因分析及整改措施10篇

组织生活会存在问题原因分析及整改措施10篇组织生活会存在问题原因分析及整改措施篇1根据区纪委、区委组织部相关文件精神,区委党校组织召开2017年度机关支部组

“听党话、感党恩、跟党走”宣讲素材7篇

“听党话、感党恩、跟党走”宣讲素材7篇“听党话、感党恩、跟党走”宣讲素材篇1根据县委宣传部《关于在全县开展“学习贯彻省委十三届七次全会精神、奋力

2022保密工作会议记录内容5篇

2022保密工作会议记录内容5篇2022保密工作会议记录内容篇1本次培训生动形象地介绍了与日常工作生活息息相关的窃密技术和泄密案例,给人以深深的震撼及反思。

纪委落实全面从严治党监督责任情况报告5篇

纪委落实全面从严治党监督责任情况报告5篇纪委落实全面从严治党监督责任情况报告篇1知民意、解民忧、帮民难、促民富、得民心。下面是众鑫文档网小编为您推荐县纪委书

新时期产业工人队伍建设改革工作总结8篇

新时期产业工人队伍建设改革工作总结8篇新时期产业工人队伍建设改革工作总结篇1在全院深入开展干部作风整顿活动,提出以“四个着力”深化整治措施,力促落实整改,筑

2020纪检干部警示教育心得感悟【5篇】

2020纪检干部警示教育心得感悟五篇  严以修身、严以用权、严以律己,谋事要实、创业要实、做人要实&

2023年悲观与乐观议论文五篇(范文推荐)

悲观与乐观议论文1  人生来有就不同种的心态,主观上客观上的都是不同的感受。遇到问题时所产生的观念也不同。任何苦难都是在所难免的,最重要的是看自己怎么...