java课程设计人事管理系统_第1页
java课程设计人事管理系统_第2页
java课程设计人事管理系统_第3页
java课程设计人事管理系统_第4页
java课程设计人事管理系统_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

1、人事管理系统.系统需求剖析:1)系统的功能设计.2)系统功能构造.3)数据库设计.二.功能模块开发.(1)查问人员信息界面.(2)增添职工界面.(3)改正职工信息界面.(4)删除职工界面.(5)职工查核界面.(6)职工查核历史记录界面.三.各个类说明.四.程序代码.(1)Manager.(2)CardEmploy.(3)SelEmploy.(4)AddEmploy.(5)ReviseEmploy.UpdDialog.6)DelEmploy.7)AllEmploy.8)Examine.9)History.10)EmployModel.11)AppraisalModel.12)SqlHelper.

2、一.系统需求剖析:(1)系统的功能设计职工信息管理:职工信息管理包含对职工基本信息和状况进行查问、增添、删除和改正及部门管理职工查核管理:包含对职工的查核状况进行操作,还能够对历史查核状况进行阅读(2)系统功能构造人事管理的系统构造功能构造如下图:(3)数据库设计职工基本表(Employinfo)名称字段名称数据种类主键非空工号Empnovarchar(10)YesYes姓名Enamevarchar(10)Noyes性别Sexvarchar(4)Noyes出生年代BirthdayDatetimeNoYes部门DeptNoChar(10)NoYes职务EjobChar(20)NoYes薪资Sal

3、floatNoYes职工查核表(Appraisal)名称字段名称数据种类主键非空工号Empnovarchar(10)yesyes查核Consequencevarchar(10)noyes改正日期RegDatedatetimeNoYes查核历史记录(History)名称字段名称数据种类主键非空流水号JourNoIntYesyes工号Empnovarchar(10)noyes姓名Enamevarchar(10)NoYes上一次查核OldInfovarchar(10)NoYes本次查核NewInfovarchar(10)NoYes改正日期RegDatedatetimeNoYes二.功能模块开发(1)

4、查问人员信息界面实例一个SelEmploy类,当点击“查问”时调用EmployModel类的queryEmploy方法实现查问2)增添职工界面实例一个AddEmploy类当点击“增添”时调用EmployModel类的updEmploy方法实现增添功能3)改正职工信息界面实例一个ReviseEmploy类当点击“改正”时,先调用UpdDialo弹跳出一个改正信息对话框,信息改正完成后,调用EmployModel类的updEmploy方法实现改正功能4)删除职工界面实例一个DelEmploy类当点击“删除”时调用EmployModel类的updEmploy方法实现删除功能5)职工查核界面实例一个E

5、xamine类当点击“确认”时调用AppraisalModel类的updAppraisal方法来达成查核功能6)职工查核历史记录界面实例一个History类当点击时调用AppraisalModel类的updAppraisal方法来达成查核功能三.各个类说明类之间的关系图:1.Manager类Manager类的一个实例,进而生成了人事管理系统的界面,用JSplitPane类将整个界面分为左右两个部分。此中左边实现了人事管理系统的功能树,采纳JTree类建立,同时实现了TreeSelectionListener接口,定义了该接口所一定实现的valueChanged(TreeSelectionEve

6、nte)方法,JSplitPane右侧加入卡片布局CardEmploy类。当JTree的TreeSelectionEvent事件发生时,调用CardEmploy的c.show方法切换不一样卡片,实现不一样的管理界面。2.CardEmploy类CardEmploy为卡片布局类的面板,主要功能是增添各个界面的卡片,当JTree的TreeSelectionEvent事件发生时。切换不一样的卡片3.EmployModel、AppraisalModel类这两个类继承了AbstractTableModel,主要实现的功能是,寄存调用sqlhelper类获取的数据。能够经过调用sqlhelper实现增删查改

7、功能4.SqlHelper类主要就是连结数据库的一些基础操作是,方便代码改正,重复使用5.SelEmploy这个类继承Panel,为“查问职工”的界面。实现了Actionlistener接口,当ActionEvent事件发生时,调用EmployModel类的queryEmploy方法实现查问6.AddEmploy、ReviseEmploy、DelEmploy类这些类继承Pane,分别为“增添职工信息”“改正职工信息”“删除职工信息”的界面,这些类实现了Actionlistener接口,当ActionEvent事件发生时,调用EmployModel类的updEmploy方法实现增添、查问、删除、

8、功能Examine类这个类继承Panel,为“查核职工”界面。这个类实现了Actionlistener接口,当ActionEvent事件发生时,(1)先经过调用AppraisalModel的queryAppraisal获取上一次查核成绩,(2)改正Appraisal表的查核成绩(3)再把上一次查核成绩跟本次查核成绩加到History表中8.History这个类主假如把History表中的信息显示到界面上。.程序代码1)Managerpackagecom.Manager;importjava.awt.*;importjavax.swing.*;importimport;importimport.

9、*;publicclassManagerJPaneljp;JSplitPanejs;JScrollPanejsp;JTreetree;DefaultMutableTreeNodet2_2;CardEmployae;EmployModelem;publicstaticvoidManagermanager=extendsJFrameroot,t1,main(Stringargs)newManager();implementst2,t1_1,TreeSelectionListenert1_2,t1_3,t1_4,t1_5,t2_1,publicManager()给树的各个结点赋值root=newDe

10、faultMutableTreeNode(人事管理系统);t1=newDefaultMutableTreeNode(基本信息管理);t1_1=newDefaultMutableTreeNode(查问职工);t1_2=newDefaultMutableTreeNode(增添职工);t1_3=newDefaultMutableTreeNode(改正职工信息);t1_4=newDefaultMutableTreeNode(删除职薪资料);t1_5=newDefaultMutableTreeNode(查问全体职工);t2=newDefaultMutableTreeNode(人员查核管理);t2_1=n

11、ewDefaultMutableTreeNode(人员查核);t2_2=newDefaultMutableTreeNode(查核历史查问);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=newJTree(root);对树进行监听tree.addTreeSelectionListener(this);/实例化CardEmploy面板并加到jsplitpane的边ae=newCardEmploy();j

12、s=newJSplitPane();js.setLeftComponent(tree);js.setRightComponent(ae);this.getContentPane().add(js);thisthisthisthis.setTitle(人事管理系统);.setVisible(true);.setSize(600,500);.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);publicvoidvalueChanged(TreeSelectionEvente)获取点击结点名称DefaultMutableTreeNodedpath=(Def

13、aultMutableTreeNode)tree.getLastSelectedPathComponent();/经过点击不一样结点切换不一样界面if(dpath.equals(t1_1)ae.c.show(ae,1);elseif(dpath.equals(t1_2)ae.c.show(ae,2);elseif(dpath.equals(t1_3)ae.c.show(ae,3);elseif(dpath.equals(t1_4)ae.c.show(ae,4);elseif(dpath.equals(t1_5)ae.c.show(ae,5);elseif(dpath.equals(t2_1)a

14、e.c.show(ae,6);elseif(dpath.equals(t2_2)ae.c.show(ae,7);2)CardEmploy/*用卡片布局设置各个界面*/packagecom.Manager;importjavax.swing.*;importjava.awt.*;publicclassCardEmployCardLayoutc;extendsPanel查问表SelEmployselE;增添表AddEmployaddE;改正职工信息表ReviseEmployrevE;删除职工表格DelEmploydelE;全部职工信息AllEmployallE;职工查核表ExamineexaE;历

15、史记录界面HistoryHis;publicCardEmploy()/查问职工表selE=newSelEmploy();增添职工表addE=newAddEmploy();/改正职工信息revE=newReviseEmploy();删除职工表格delE=newDelEmploy();全部职工信息allE=newAllEmploy();职工查核表exaE=newExamine();历史记录界面His=newHistory();JPaneljp=newJPanel();/定义cardemploy面板为卡片布局把各个面板加入到C的卡片布局中c=newCardLayout();this.setLayou

16、t(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类设置查问职工界面*/packagecom.Manager;importjava.awt.*;importjavax.swing.*;importpublicclassSelEmployextendsPanelimplementsActionListenerEmployModelem;JLabeljl;JTe

17、xtFieldjtf;JButtonjb;JTablejt;JScrollPanejsp;JPaneljp1;publicSelEmploy()北部jp1=newJPanel();jl=newJLabel(输入职工号:);jtf=newJTextField(20);jb=newJButton(查问);对查问按钮监听jb.addActionListener(this);jp1.add(jl);jp1.add(jtf);jp1.add(jb);中部em=newEmployModel();Stringparas=1;em.queryEmploy(select*fromEmployinfowhere1

18、=?,paras);jt=newJTable(em);jsp=newJScrollPane(jt);this.setLayout(newBorderLayout();this.add(jp1,BorderLayout.NORTH);this.add(jsp,BorderLayout.CENTER);publicvoidactionPerformed(ActionEvente)if(e.getSource()=jb)Stringname=this.jtf.getText().trim();Stringsql=select*fromEmployinfowhereEmpno=?;Stringpara

19、s=name;em=newEmployModel();em.queryEmploy(sql,paras);查找成功更新表jt.setModel(em);4)AddEmploypackagecom.Manager;importjava.awt.*;importjavax.swing.*;importpublicclassAddEmployextendsPanelimplementsActionListenerJLabeljl,jl1,jl2,jl3,jl4,jl5,jl6,jl7;JButtonjb1,jb2;JTextFieldjtf1,jtf2,jtf3,jtf4,jtf5,jtf6,jtf

20、7;JPaneljp1,jp2,jp3,jp4;EmployModelem;publicAddEmploy()jl1=newJLabel(工号:);jl2=newJLabel(姓名:);jl3=newJLabel(性别:);jl4=newJLabel(出生年代:);jl5=newJLabel(部门:);jl6=newJLabel(职位:);jl7=newJLabel(薪资:);jtf1=newJTextField(20);jtf2=newJTextField(20);jtf3=newJTextField(20);jtf4=newJTextField(20);jtf5=newJTextField

21、(20);jtf6=newJTextField(20);jtf7=newJTextField(20);jb1=newJButton(增添);jb2=newJButton(撤消);监听增添撤消按钮jb1.addActionListener(this);jb2.addActionListener(this);jp1=newJPanel(newGridLayout(7,1);jp2=newJPanel(newGridLayout(7,1);jp3=newJPanel();jp1.add(jl1);jp1.add(jl2);jp1.add(jl3);jp1.add(jl4);jp1.add(jl5);

22、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=newJPanel(newBorderLayout();jp4.add(jp1,BorderLayout.WEST);jp4.add(jp2,BorderLayout.EAST);jp4.setSize(300,300);this.setLayout(newFlowLayout();this

23、.add(jp4);this.add(jp3);publicvoidactionPerformed(ActionEvente)if(e.getSource()=jb1)/调用EmployModel里的updEmploy方法,实现对表格的增添Stringsql=insertintoEmployinfovalues(?,?,?,?,?,?,?);Stringparas=jtf1.getText(),jtf2.getText(),jtf3.getText(),jtf4.getText(),jtf5.getText(),jtf6.getText(),jtf7.getText();em=newEmplo

24、yModel();if(em.updEmploy(sql,paras)当增添新职工成功时,则弹出”增添成功“的对话框JOptionPane.showMessageDialog(this,增添成功);elseif(!em.updEmploy(sql,paras)JOptionPane.showMessageDialog(this,增添失败);当新职工加入成功后,要把新加入职工的工号加到查核表AppraisalModeltemp=newAppraisalModel();Stringsql1=insertintoAppraisal(Empno)values(?)Stringparas1=jtf1.g

25、etText();temp.updAppraisal(sql1,paras1);elseif(e.getSource()=jb2)jtf1.setText();jtf2.setText();jtf3.setText();jtf4.setText();jtf5.setText();jtf6.setText();jtf7.setText();5)ReviseEmploypackagecom.Manager;/*改正职工界面*/importjava.awt.*;importimportjavax.swing.*;publicclassReviseEmployextendsPanelimplement

26、sActionListenerJTablejt;JScrollPanejsp;JButtonjb1,jb2;JPaneljp1,jp2;EmployModelem;JLabeljl1;publicReviseEmploy()jl1=newJLabel(改正职工信息,JLabel.CENTER);jl1.setFont(newFont(宋体,Font.BOLD,28);jp2=newJPanel();jp2.add(jl1);em=newEmployModel();Stringparas=1;em.queryEmploy(select*fromEmployinfowhere1=?,paras);

27、jt=newJTable(em);jsp=newJScrollPane(jt);jb1=newJButton(改正);jb2=newJButton(刷新);对两个按钮进行监听jb1.addActionListener(this);jb2.addActionListener(this);this.setLayout(newBorderLayout();jp1=newJPanel();jp1.add(jb1);jp1.add(jb2);this.add(jp2,BorderLayout.NORTH);this.add(jsp,BorderLayout.CENTER);this.add(jp1,Bo

28、rderLayout.SOUTH);publicifvoidactionPerformed(ActionEvente)(e.getSource()=jb1)introwNum=this.jt.getSelectedRow();if(rowNum=-1)JOptionPane.showMessageDialogreturn;(this,请选择一行);弹出改正对话框newUpdDialog(em,rowNum);elseif(e.getSource()=jb2)刷新改正界面中的表格em=newEmployModel();Stringparas1=em.queryEmploy(1;select*fr

29、omEmployinfowhere1=?,paras1);jt.setModel(em);UpdDialogpackagecom.Manager;/*弹出改正界面*/importjavax.swing.*;importjava.awt.*;importpublicclassUpdDialogextendsJDialogimplementsJLabeljl1,jl2,jl3,jl4,jl5,jl6,jl7;JButtonjb1,jb2;JTextFieldjtf1,jtf2,jtf3,jtf4,jtf5,jtf6JPaneljp1,jp2,jp3;,ActionListenerjtf7;publ

30、icUpdDialog(EmployModelem,introwNums)jl1=newJLabel(工号:);jl2=newJLabel(姓名:);jl3=newJLabel(性别:);jl4=newJLabel(出生年代:);jl5=newJLabel(部门:);jl6=newJLabel(职位:);jl7=newJLabel(薪资:);jtf1=newJTextField(20);jtf2=newJTextField(30);jtf3=newJTextField(30);jtf4=newJTextField(30);jtf5=newJTextField(30);jtf6=newJText

31、Field(30);jtf7=newJTextField(30);/初始化jtextfield数据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);jt

32、f6.setText(String)em.getValueAt(rowNums,5);jtf7.setText(String)em.getValueAt(rowNums,6);jb1=newJButton(改正);jb2=newJButton(撤消);对两个按钮监听jb1.addActionListener(this);jb2.addActionListener(this);jp1=newJPanel();jp2=newJPanel();jp3=newJPanel();设置布局jp1.setLayout(newGridLayout(7,1);jp2.setLayout(newGridLayou

33、t(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

34、(jp3,BorderLayout.SOUTH);this.setSize(300,250);this.setVisible(true);this.setLocation(200,200);this.addWindowListener(newWindowAdapter()publicvoidwindowClosing(WindowEvente)dispose(););publicifvoidactionPerformed(ActionEvente)(e.getSource()=jb1)改正职工信息的sql语句,paras为待注入的值Stringsql=updateEmployinfoset+E

35、name=?,Sex=?,Birthday=?,DeptNo=?,Ejob=?,Sal=?whereEmpno=?;Stringparas=jtf2.getText(),jtf3.getText(),jtf4.getText(),jtf5.getText(),jtf6.getText(),jtf7.getText(),jtf1.getText();EmployModeltemp=newEmployModel();/if假如改正语句运转成功则弹出“改正成功”对话框(temp.updEmploy(sql,paras)JOptionPane.showMessageDialog(this,改正成功);

36、thiselse.dispose();if(e.getSource()=jb2)封闭对话框this.dispose();6)DelEmploy/*删除职工*/packagecom.Manager;importjavax.swing.*;importjava.awt.*;importpublicclassDelEmployextendsPanelimplementsActionListenerJTablejt;JScrollPanejsp;JButtonjb1,jb2;JPaneljp1,jp2;JLabeljl1;EmployModelem;publicDelEmploy()北部jl1=new

37、JLabel(删除职工,JLabel.CENTER);jl1.setFont(newFont(黑体,Font.BOLD,30);jp2=newJPanel();jp2.add(jl1);中部em=newEmployModel();Stringparas=1;em.queryEmploy(select*fromEmployinfowhere1=?jt=newJTable(em);jsp=newJScrollPane(jt);,paras);南部jp1=newJPanel();jb1=newJButton(删除);jb2=newJButton(撤消);jb1.addActionListener(t

38、his);jp1.add(jb1);jp1.add(jb2);this.setLayout(newBorderLayout();this.add(jp2,BorderLayout.NORTH);this.add(jsp,BorderLayout.CENTER);this.add(jp1,BorderLayout.SOUTH);publicifvoidactionPerformed(ActionEvente)(e.getSource()=jb1)返回用户点中的行introwNum=thisif(rowNum=-1).jt.getSelectedRow();JOptionPane.showMess

39、ageDialog(this,请选择一行);return;获取学生编号StringEmpno=(String)em.getValueAt(rowNum,0);删除记录的sql语句Stringsql=deletefromEmployinfowhereEmpno=?Stringparas=Empno;EmployModeltemp=newEmployModel();temp.updEmploy(sql,paras);删除职工成功后,更新职工表em=newEmployModel();Stringparas1=em.queryEmploy(1;select*fromEmployinfowhere1=?

40、,paras1);jt.setModel(em);7)AllEmploy/*遍历全部职工*/packagecom.Manager;importjava.awt.*;importjavax.swing.*;publicclassAllEmployEmployModelem;JTablejt;extendsPanelJScrollPanejsp;JLabeljl1;JPaneljp;publicAllEmploy()北部jp=newJPanel();jl1=newJLabel(全体职工,JLabel.CENTER);jl1.setFont(newFont(黑体,Font.BOLD,30);jp.a

41、dd(jl1);中部em=newEmployModel();Stringparas=1;em.queryEmploy(select*fromEmployinfowhere1=?,paras);jt=newJTable(em);jsp=newJScrollPane(jt);this.setLayout(newBorderLayout();this.add(jp,BorderLayout.NORTH);this.add(jsp,BorderLayout.CENTER);8)Examine/*职工查核界面*/packagecom.Manager;importjava.awt.*;importimpo

42、rtimport;importjava.sql.*;importjavax.swing.*;publicclassExamineextendsJLabeljl1,jl2,jl3,jl4JTablejt;JScrollPanejsp;JTextFieldjtf1,jtf2;Choicech;JButtonjb1,jb2;JPaneljp1,jp2,jp3,jp4AppraisalModelam;SqlHelpersqh;publicExamine()Panel;implementsActionListener北部为标题文字jp4=newJPanel();jl1=newJLabel(职工查核,JL

43、abel.CENTER);jl1.setFont(newFont(黑体,Font.BOLD,30);jp4.add(jl1);中部am=newAppraisalModel();am.queryAppraisal(selectE.Empno,E.Ename,A.Consequence,A.RegDatefrom+EmployinfoasE,AppraisalasAwhereE.Empno=A.Empno);jt=newJTable(am);jsp=newJScrollPane(jt);/监听jtable点击表格时获取点击的行数并经过鼠标点击事件给jtf1,jtf2赋值jt.addMouseLis

44、tener(newMouseAdapter()publicvoidmouseClicked(MouseEvente)introwNum=jt.getSelectedRow();jtf1.setText(String)am.getValueAt(rowNum,0);jtf2.setText(String)am.getValueAt(rowNum,1););jl2=newJLabel(工号:);jl3=newJLabel(姓名:);jl4=newJLabel(查核);jtf1=newJTextField(10);jtf2=newJTextField(10);jtf1.setEditable(fal

45、se);jtf2.setEditable(false);实例单项选择框组件,并赋值ch=newChoice();ch.add(未查核);ch.add(不合格);ch.add(合格);ch.add(优异);jp1=newJPanel();jp1.add(jl2);jp1.add(jtf1);jp1.add(jl3);jp1.add(jtf2);jp1.add(jl4);jp1.add(ch);jp2=newJPanel(newBorderLayout();jp2.add(jsp,BorderLayout.CENTER);jp2.add(jp1,BorderLayout.SOUTH);南部jb1=

46、newJButton(确认);jb2=newJButton(刷新);jp3=newJPanel();jb1.addActionListener(this);jb2.addActionListener(this);jp3.add(jb1);jp3.add(jb2);this.setLayout(newBorderLayout();this.add(jp4,BorderLayout.NORTH);this.add(jp2,BorderLayout.CENTER);this.add(jp3,BorderLayout.SOUTH);publicifvoidactionPerformed(ActionE

47、vente)(e.getSource()=jb1)StringEmpno=jtf1.getText();StringEname=jtf2.getText();StringConsequence=ch.getSelectedItem();先获取上一次查核记录Stringsql=selectConsequencefromAppraisalwhereEmpno=?Stringparas=Empno;StringOldInfo=;trysqh=newSqlHelper();ResultSetrs=sqh.queryExecute(sql,paras);rs.next();OldInfo=rs.getS

48、tring(1);catch(Exceptione1)e1.printStackTrace();finallysqh.close();/对查核表进行改正改正查核记录的sql语句Stringsql1=updateAppraisalsetConsequence=?whereEmpno=?Stringparas1=Consequence,Empno;AppraisalModeltemp=newAppraisalModel();if(temp.updAppraisal(sql1,paras1)JOptionPane.showMessageDialog(this,查核成功);/再把上一次查核记录以及本次

49、操作记录插入到historyStringsql2=insertintoHistory(Empno,Ename,OldInfo,NewInfo)values(?,?,?,?);表中AppraisalModeltemp1=newAppraisalModel();temp1.updAppraisal(sql2,paras2);elseif(e.getSource()=jb2)/刷新职工查核表am=newAppraisalModel();Stringparas3=am.queryAppraisal(1;selectE.Empno,E.Ename,A.Consequence,A.RegDatefromt

50、his.jt+EmployinfoasE,AppraisalasAwhereE.Empno=A.Empno.setModel(am););9)History/*历史记录界面*/packagecom.Manager;importjava.awt.*;importimportjavax.swing.*;publicclassHistoryextendsPanelimplementsActionListenerAppraisalModelam;JTablejt;JScrollPanejsp;JLabeljl1;JPaneljp,jp1,jp2;JButtonjb1,jb2;publicHistory

51、()北部jp=newJPanel();jl1=newJLabel(职工查核历史记录,JLabel.CENTER);jl1.setFont(newFont(黑体,Font.BOLD,30);jp.add(jl1);中部am=newAppraisalModel();Stringparas=1;am.queryHistory(select*fromHistorywhere1=?jt=newJTable(am);jsp=newJScrollPane(jt);,paras);南部jp2=newJPanel();jb1=newJButton(清空);jb2=newJButton(刷新);jb1.addAc

52、tionListener(this);jb2.addActionListener(this);jp2.add(jb1);jp2.add(jb2);this.setLayout(newBorderLayout();thisthisthis.add(.add(.add(jpjspjp2,BorderLayout.,BorderLayout.,BorderLayout.NORTH);CENTER);SOUTH);publicifvoidactionPerformed(ActionEvente)(e.getSource()=jb1)/删除历史记录并更新表am=newAppraisalModel();S

53、tringparas=1;am.updAppraisal(deleteHistorywhere1=?am.queryHistory(select*fromHistorywhere1=?this.jt.setModel(am);elseif(e.getSource()=jb2),paras);,paras);刷新表格am=newAppraisalModel();Stringparas=1;am.queryHistory(select*fromHistorywhere1=?this.jt.setModel(am);,paras);10)EmployModel/*重写TableModel*/pack

54、agecom.Manager;importimportjava.sql.*;importjava.util.*;publicclassEmployModelextendsVectorrowData,columnNames;AbstractTableModel实现查问publicvoidqueryEmploy(Stringsql,Stringparas)SqlHelpersqh=null;/用columnNames寄存表的列名columnNames=newVector();columnNames.add(工号);columnNames.add(姓名);columnNames.add(性别);co

55、lumnNames.add(出生年代);columnNames.add(部门);columnNames.add(职位);columnNames.add(薪资);/rowData寄存表格的各行数据rowData=newVector();trysqh=newSqlHelper();ResultSetrs=sqh.queryExecute(sql,paras);while(rs.next()Vectorhang=newVector();hang.add(rs.getString(1);hang.add(rs.getString(2);hang.add(rs.getString(3);hang.add

56、(rs.getString(4);hang.add(rs.getString(5);hang.add(rs.getString(6);hang.add(rs.getString(7);rowData.add(hang);catch(Exceptione)e.printStackTrace();finallysqh.close();实现表格增改正功能publicbooleanupdEmploy(Stringsql,Stringparas)SqlHelpersqh=newSqlHelper();returnsqh.updExecute(sql,paras);publicintgetRowCount

57、()returnthis.rowData.size();publicStringgetColumnName(intcolumn)return(String)this.columnNames.get(column);publicintgetColumnCount()returnthis.columnNames.size();publicObjectgetValueAt(introw,intcolumn)获取某一个单元格的数值return(Vector)this.rowData.get(row).get(column);11)AppraisalModel/*重写TableModel为查核类的tab

58、le模板*/packagecom.Manager;importimportjava.sql.*;importjava.util.*;publicclassAppraisalModelextendsVectorrowData,columnNames;AbstractTableModel实现查问publicvoidqueryAppraisal(Stringsql)SqlHelpersqh=null;用columnNames寄存表的列名columnNames=newVector();columnNames.add(工号);columnNames.add(姓名);columnNames.add(上一次

59、查核);columnNames.add(查核时间);/rowData寄存表格的各行数据rowData=newVector();trysqh=newSqlHelper();ResultSetrs=sqh.queryExecute(sql);while(rs.next()Vectorhang=newVector();hang.add(rs.getString(1);hang.add(rs.getString(2);hang.add(rs.getString(3);hang.add(rs.getString(4);rowData.add(hang);catch(Exceptione)e.printStackTrace();finallysqh.close();查问职工查核历史记录方法publicvoidqueryHistory(Stringsql,Stringparas)SqlHelpersqh=null;用columnNames寄存表的列名columnNames=newVector();columnNames.add(流水号);columnNa

温馨提示

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

评论

0/150

提交评论