还剩39页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
1系统设计目标
1.1需求分析本系统应具有以下功能
(1)系统管理员可以添加用户信息、修改密码和设置用户权限,以及对职工信息进行添加、修改、查询、删除等操作
(2)一般用户可以查询职工信息
1.2系统功能设计
(1)系统功能结构图,如图1-1所示图1-1系统功能结构图
1.3系统开发工具本系统采用Access2003创建后台数据库,前台开发工具采用Eclipse,开发语言为java2系统数据库设计与实现
2.1数据表的实体E-R图通过对的系统总体分析,可以得到大概的实体-关系模型(E-R模型),如下
(1)员工信息表的E-R图,如图2-1所示图2-1员工信息表的E-R图
(2)系统用户表的E-R图,如图2-2所示图2-2系统用户表的E-R图
2.2数据表的结构
(1)员工信息表的结构如图2-3所示图2-3员工信息表结构
(2)系统用户表的结构,如图2-4所示图2-4系统用户表结构3窗体设计
3.1登录页面设计启动程序“Eclipse”后,选择“文件”、“新建”、“Java项目”,打开“新建Java项目”对话框,输入项目名称为“personInfo”,在项目下添加包和所需的类
(1)登录界面如图3-1所示图3-1系统登录界面
(2)用户身份验证,如图3-2所示图3-2用户身份验证界面
3.2管理员权限
(1)管理员权限主菜单,如图3-3所示图3-3管理员主菜单界面
(2)用户修改密码和设置权限,如图3-4所示图3-4用户修改密码和设置权限界面
(3)添加新职工如图3-5所示图3-5添加新职工界面
(4)查询职工信息如图3-6所示图3-6查询职工信息界面
(5)删除职工信息如图3-7所示图3-7删除职工信息界面
(6)退出系统消息提示,如图3-8所示图3-8退出系统消息提示对话框
3.3一般用户权限
(1)一般用户权限主菜单,如图3-9所示图3-9一般用户主菜单界面
(2)查询职工信息如图3-10所示图3-10查询职工信息界面4设计体会及今后的改进意见
4.1设计体会经过一个周的努力,已基本上完成了“人事管理系统”的课程设计其功能基本符合用户需求,能够实现用户身份验证、主界面管理、用户管理以及添加、修改、查询、删除职工信息等功能由于时间较短和自身因素,该系统必然会存在缺陷和不足期间,通过查阅相关资料,以及向老师和同学请教,纠正了一些开始设计时的错误和误区,弥补了自己在编程思想的疏漏
4.2今后的改进意见通过本次课程设计,使我明白了画功能结构图的重要性,它对设计思想以及编写程序代码有指导性的意义在开始时,由于没能意识到这一点,走了不少弯路,浪费了时间它启发了我的思维,培养了动手实践的能力同时,也让我学会了一些编程技巧和方法,使我的学习能力和编程能力都得到了提高,它将为我以后的学习和发展打下坚实的基础参考文献
[1]郑莉编著.Java语言程序设计[M].北京清华大学出版社,2011
[2]於东军,杨静宇等编著.Java程序设计与应用开发[M].北京清华大学出版社,2005附录源程序代码
(1)LoginFrame.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;publicclassLoginFrameextendsJFrame{ContainercontentPane;JPanelpaneTop=newJPanel;JPanelpaneMid=newJPanel;JPanelpaneBut=newJPanel;JLabelTop=newJLabel;JLabelNames=newJLabel;JLabelPwd=newJLabel;JLabelModel=newJLabel;JLabelNull=newJLabel;JTextFieldNamefield=newJTextField15;JPasswordFieldPwdfield=newJPasswordField15;JComboBoxcmb=newJComboBox;JButtonbutton2=newJButton取消;JButtonbutton1=newJButton登录;intss;LoginFrame{Names.setText职工号:;Pwd.setText密码:;Model.setText用户类:;Null.setText;String[]s1={管理员一般用户};cmb.addItems1
[0];cmb.addItems1
[1];paneTop.addNames;paneTop.addNamefield;paneMid.addPwd;paneMid.addPwdfield;paneMid.addModel;paneMid.addcmb;paneBut.addbutton1;paneBut.addbutton2;contentPane=this.getContentPane;contentPane.addpaneTopBorderLayout.NORTH;contentPane.addpaneMidBorderLayout.CENTER;contentPane.addpaneButBorderLayout.SOUTH;setTitle欢迎登录;setSize260170;//将窗口放置在中央Dimensionscreen=Toolkit.getDefaultToolkit.getScreenSize;setLocationscreen.width-getSize.width/2screen.height-getSize.height/2;setVisibletrue;setDefaultCloseOperationJFrame.EXIT_ON_CLOSE;button
1.addActionListenernewButtonHandle;cmb.addActionListenernewGetSelected;button
2.addActionListenernewExit;}publicclassExitimplementsActionListener{publicvoidactionPerformedActionEvente{dispose;}}publicclassGetSelectedimplementsActionListener{publicvoidactionPerformedActionEvente{ss=cmb.getSelectedIndex;}}publicclassButtonHandleimplementsActionListener{publicvoidactionPerformedActionEvente{switchss{case0:administer;break;case1:commonclass;break;}}publicvoidadminister{Stringstr1str2;str1=Namefield.getText;str2=newStringPwdfield.getPassword;try{ifstr
1.equals||str
2.equals{JOptionPane.showMessageDialognull请输入职工号和密码!;return;}Class.forNamesun.jdbc.odbc.JdbcOdbcDriver;Connectionconn=DriverManager.getConnectionjdbc:odbc:redsun;PreparedStatementstmt=conn.prepareStatementselect*from系统用户where职工号=and密码=;stmt.setString1str1;stmt.setString2str2;ResultSetrs=stmt.executeQuery;ifrs.next{JOptionPane.showMessageDialognull登录成功!欢迎登录人事管理系统JOptionPane.INFORMATION_MESSAGE;MenuFrameo=newMenuFrame;o.go;}else{JOptionPane.showMessageDialognull非系统用户返回!登录失败JOptionPane.INFORMATION_MESSAGE;System.out.println无此用户返回!;}}catchClassNotFoundExceptione{e.printStackTrace;}catchSQLExceptione{e.printStackTrace;}}publicvoidcommonclass{Stringstr1str2;str1=Namefield.getText;str2=newStringPwdfield.getPassword;try{ifstr
1.equals||str
2.equals{JOptionPane.showMessageDialognull请输入职工号和密码!;return;}Class.forNamesun.jdbc.odbc.JdbcOdbcDriver;Connectionconn=DriverManager.getConnectionjdbc:odbc:redsun;PreparedStatementstmt=conn.prepareStatementselect*from系统用户where职工号=and密码=;stmt.setString1str1;stmt.setString2str2;ResultSetrs=stmt.executeQuery;ifrs.next{JOptionPane.showMessageDialognull登录成功!欢迎登录人事管理系统JOptionPane.INFORMATION_MESSAGE;MenuFrame1o=newMenuFrame1;o.go;}else{JOptionPane.showMessageDialognull非系统用户返回!登录失败JOptionPane.INFORMATION_MESSAGE;System.out.println无此用户返回!;}}catchClassNotFoundExceptione{e.printStackTrace;}catchSQLExceptione{e.printStackTrace;}}}publicstaticvoidmainStringargs[]{newLoginFrame;}}
(2)MenuFrame.javaimportjava.awt.*;importjavax.swing.*;importjava.awt.event.*;classMenuFrameextendsJFrame{privateJPanelpanel=newJPanel;JMenuBarjmenubar1=newJMenuBar;//创建菜单栏JMenujmenu1=newJMenu;JMenujmenu2=newJMenu;JMenujmenu3=newJMenu;JMenujmenu4=newJMenu;//创建菜单JMenuItemjmenuitem1=newJMenuItem;JMenuItemjmenuitem2=newJMenuItem;JMenuItemjmenuitem3=newJMenuItem;JMenuItemjmenuitem4=newJMenuItem;JMenuItemjmenuitem5=newJMenuItem;JMenuItemjmenuitem6=newJMenuItem;JMenuItemjmenuitem7=newJMenuItem;//创建菜单条//定义方法publicvoidgo{//设置窗口容器的布局管理器this.getContentPane.setLayoutnewBorderLayout;//设置窗口的标题this.setTitle人事管理系统;//添加菜单栏this.setJMenuBarjmenubar1;//设置菜单和菜单项名称jmenu
1.setText用户管理;jmenuitem
2.setText修改密码和权限;jmenuitem
4.setText添加用户;jmenu
2.setText职工信息管理;jmenuitem
1.setText添加职工信息;jmenuitem
3.setText修改职工信息;jmenuitem
5.setText查询职工信息;jmenu
3.setText删除员工;jmenuitem
6.setText删除职工信息;jmenu
4.setText退出;jmenuitem
7.setText退出系统;//向菜单栏中添加菜单jmenubar
1.addjmenu1;jmenubar
1.addjmenu2;jmenubar
1.addjmenu3;jmenubar
1.addjmenu4;//向菜单中添加菜单项//jmenu
1.addjmenuitem1;jmenu
1.addjmenuitem2;jmenu
1.addjmenuitem4;jmenu
2.addjmenuitem1;jmenu
2.addjmenuitem3;jmenu
2.addjmenuitem5;jmenu
3.addjmenuitem6;jmenu
4.addjmenuitem7;jmenuitem
1.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{WorkerAddaddusers1=newWorkerAdd;panel.addaddusers1添加职工;CardLayoutc1=CardLayoutpanel.getLayout;c
1.showpanel添加职工信息;}};jmenuitem
2.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{UpdatePwdUserclasso=newUpdatePwdUserclass;panel.addo修改密码和权限;CardLayoutc1=CardLayoutpanel.getLayout;c
1.showpanel修改密码和权限;}};jmenuitem
3.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{WorkerUpdateo=newWorkerUpdate;panel.addo修改职工信息;CardLayoutc1=CardLayoutpanel.getLayout;c
1.showpanel修改职工信息;}};jmenuitem
4.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{UserAddo=newUserAdd;panel.addo;CardLayoutc1=CardLayoutpanel.getLayout;c
1.showpanel添加用户;}};jmenuitem
5.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{WorkerSelecto=newWorkerSelect;panel.addo查询职工;CardLayoutc1=CardLayoutpanel.getLayout;c
1.showpanel查询职工信息;}};jmenuitem
6.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{WorkerDeleteo=newWorkerDelete;panel.addo删除职工;CardLayoutc1=CardLayoutpanel.getLayout;c
1.showpanel删除职工信息;}};jmenuitem
7.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{JOptionPane.showMessageDialognull欢迎下次光临!消息提示JOptionPane.INFORMATION_MESSAGE;System.exit0;}};//产生窗口的最佳尺寸、布局各组件,然后显示窗口pack;this.setSize320240;setVisibletrue;}publicstaticvoidmainString[]args{MenuFrameb=newMenuFrame;b.go;}}
(3)UpdatePwdUserclass.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;importjavax.swing.table.*;importjava.util.Vector;publicclassUpdatePwdUserclassextendsJFrame{Containerc;JPanelpanel1panel2panel3panel4;JLabelWnoLabelPwdLabelUserClassLabel;JTextFieldWTextFieldXTextFieldX1TextField;JButtonBtnopenBtnupdate;JTabletable=null;DefaultTableModeldefaultModel=null;UpdatePwdUserclass{super修改密码和权限;c=getContentPane;c.setLayoutnewBorderLayout;WnoLabel=newJLabel职工号:JLabel.CENTER;PwdLabel=newJLabel密码:JLabel.CENTER;UserClassLabel=newJLabel用户类:JLabel.CENTER;WTextField=newJTextField15;XTextField=newJTextField15;X1TextField=newJTextField15;Btnopen=newJButton打开;Btnupdate=newJButton修改;panel1=newJPanel;panel3=newJPanel;panel4=newJPanel;panel
1.addWnoLabel;panel
4.addPwdLabel;panel
3.addUserClassLabel;panel
1.addWTextField;panel
4.addXTextField;panel
3.addX1TextField;panel
1.addBtnopen;panel
3.addBtnupdate;String[]n={职工号密码用户类};String[][]data=newString
[0]
[0];defaultModel=newDefaultTableModeldatan;table=newJTabledefaultModel;table.setPreferredScrollableViewportSizenewDimension500100;JScrollPanes=newJScrollPanetable;panel2=newJPanel;panel
2.adds;c.addpanel1BorderLayout.NORTH;c.addpanel3BorderLayout.EAST;c.addpanel4BorderLayout.WEST;c.addpanel2BorderLayout.SOUTH;pack;setVisibletrue;Btnopen.addActionListenernewActionListener{publicvoidactionPerformedActionEventex{try{Class.forNamesun.jdbc.odbc.JdbcOdbcDriver;}catchjava.lang.ClassNotFoundExceptione{System.out.printlnForName:+e.getMessage;}StringWno=WTextField.getText;Stringstr=null;Stringstr1=select职工号密码用户类from系统用户;try{ifWno.equals{str=str1;}else{str=str1+where职工号=+WTextField.getText+;}Connectioncon=DriverManager.getConnectionjdbc:odbc:redsun;Statementstmt=con.createStatement;ResultSetrs=stmt.executeQuerystr;whilers.next{Vectordata=newVector;data.addElementrs.getString1;data.addElementrs.getString2;data.addElementrs.getString3;defaultModel.addRowdata;}table.revalidate;}catchSQLExceptione{System.out.printlnSQLException:+e.getMessage;}}};Btnupdate.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{try{Submito=newSubmit;ifXTextField.getText.toString.equalsJOptionPane.showMessageDialognull密码不能为空添加JOptionPane.WARNING_MESSAGE;elseo.tijiaoWTextField.getText.toStringXTextField.getText.toStringX1TextField.getText.toString;}catchExceptione1{e
1.printStackTrace;}JOptionPane.showMessageDialognull修改成功!修改密码和权限JOptionPane.INFORMATION_MESSAGE;}};}publicstaticvoidmainString[]args{newUpdatePwdUserclass;}}
(4)Submit.javaimportjava.sql.*;publicclassSubmit{publicvoidtijiaoStringWTextFieldStringXTextFieldStringX1TextFieldthrowsException{StringJDriver=sun.jdbc.odbc.JdbcOdbcDriver;StringconnectionURL=jdbc:odbc:redsun;Class.forNameJDriver;//ConnecttheODBCresource.Connectioncon=DriverManager.getConnectionconnectionURL;Statementstmt=con.createStatement;System.out.println连接数据库成功!;Stringquery1=update系统用户set密码=+XTextField+用户类=+X1TextField++where职工号=+WTextField+;System.out.println******+XTextField++X1TextField;stmt.executeUpdatequery1;stmt.close;con.close;}}
(5)UserAdd.javaimportjava.io.*;importjava.net.*;importjava.awt.event.*;importjavax.swing.*;publicclassUserAddextendsJFrame{privateJTextFieldWnoWpwdWuserclass;privateJLabeljnojpwdjuserclass;privateJButtonBtnupdateBtnexit;publicUserAdd{this.setLayoutnull;jno=newJLabel职工号:;jpwd=newJLabel密码:;juserclass=newJLabel用户类:;Wno=newJTextField;Wpwd=newJTextField;Wuserclass=newJTextField;Btnupdate=newJButton添加;Btnexit=newJButton取消;jno.setBounds30206030;//设置标签大小jpwd.setBounds30706026;juserclass.setBounds301206026;Wno.setBounds1102012026;Wpwd.setBounds1107012026;Wuserclass.setBounds11012012026;Btnupdate.setBounds302206026;Btnexit.setBounds1402206026;this.addjno;this.addWno;this.addjpwd;this.addWpwd;this.addjuserclass;this.addWuserclass;this.addBtnupdate;this.addBtnexit;this.setSize250300;this.setTitle添加新用户;Btnupdate.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{try{Add1o=newAdd1;ifWno.getText.toString.equalsJOptionPane.showMessageDialognull职工号不能为空添加JOptionPane.WARNING_MESSAGE;elseifWpwd.getText.toString.equalsJOptionPane.showMessageDialognull密码不能为空添加JOptionPane.WARNING_MESSAGE;elseifWuserclass.getText.toString.equalsJOptionPane.showMessageDialognull用户类不能为空添加JOptionPane.WARNING_MESSAGE;elseo.tianjiaWno.getText.toStringWpwd.getText.toStringWuserclass.getText.toString;}catchExceptione1{e
1.printStackTrace;}JOptionPane.showMessageDialognull添加成功!添加新用户JOptionPane.INFORMATION_MESSAGE;}};Btnexit.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{Wno.setText;Wpwd.setText;Wuserclass.setText;}};setVisibletrue;}publicstaticvoidmainString[]args{UserAddapp=newUserAdd;}}
(6)Add
1.javaimportjava.sql.*;publicclassAdd1{publicvoidtianjiaStringWnoStringWpwdStringWuserclassthrowsException{StringJDriver=sun.jdbc.odbc.JdbcOdbcDriver;StringconnectionURL=jdbc:odbc:redsun;Class.forNameJDriver;//ConnecttheODBCresource.Connectioncon=DriverManager.getConnectionconnectionURL;Stringquery1=insertinto系统用户职工号密码用户类values;PreparedStatementprep=con.prepareStatementquery1;prep.setString1Wno;prep.setString2Wpwd;prep.setString3Wuserclass;prep.executeUpdate;con.close;}}
(7)WorkerAdd.javaimportjava.io.*;importjava.net.*;importjava.awt.BorderLayout;importjava.awt.FlowLayout;importjava.awt.event.*;importjavax.swing.*;publicclassWorkerAddextendsJFrame{privateJTextFieldWnoWnameWaddressWphonenoWdepartWsalaryWtimeWoccup;privateJLabeljnojnamejaddressjphonenojdepartjsalaryjtimejoccup;privateJButtonbutton1button2;JPanelpane=newJPanelnewBorderLayout;publicWorkerAdd{this.setLayoutnull;this.setTitle添加新职工;this.setSize500300;jno=newJLabel职工号:;Wno=newJTextField;jname=newJLabel姓名:;Wname=newJTextField;jaddress=newJLabel地址:;Waddress=newJTextField;jphoneno=newJLabel电话:;Wphoneno=newJTextField;jdepart=newJLabel部门:;Wdepart=newJTextField;jsalary=newJLabel工资:;Wsalary=newJTextField;jtime=newJLabel参加工作时间:;Wtime=newJTextField;joccup=newJLabel职务:;Woccup=newJTextField;button1=newJButton添加;button2=newJButton取消;//设置标签大小jno.setBounds30156030;jname.setBounds30506030;jaddress.setBounds30856030;jphoneno.setBounds301206030;jdepart.setBounds240159030;jsalary.setBounds240509030;jtime.setBounds240859030;joccup.setBounds2401209030;Wno.setBounds1001512030;Wname.setBounds1005012030;Waddress.setBounds1008512030;Wphoneno.setBounds10012012030;Wdepart.setBounds3401512030;Wsalary.setBounds3405012030;Wtime.setBounds3408512030;Woccup.setBounds34012012030;button
1.setBounds1402006026;button
2.setBounds2502006026;this.addjno;this.addWno;this.addjname;this.addWname;this.addjaddress;this.addWaddress;this.addjphoneno;this.addWphoneno;this.addjdepart;this.addWdepart;this.addjsalary;this.addWsalary;this.addjtime;this.addWtime;this.addjoccup;this.addWoccup;this.addbutton1;this.addbutton2;button
1.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{try{Addo=newAdd;ifWno.getText.toString.equalsJOptionPane.showMessageDialognull职工号不能为空添加JOptionPane.WARNING_MESSAGE;elseifWname.getText.toString.equalsJOptionPane.showMessageDialognull姓名不能为空添加JOptionPane.WARNING_MESSAGE;elseifWaddress.getText.toString.equalsJOptionPane.showMessageDialognull地址不能为空添加JOptionPane.WARNING_MESSAGE;elseifWphoneno.getText.toString.equalsJOptionPane.showMessageDialognull电话不能为空添加JOptionPane.WARNING_MESSAGE;elseifWdepart.getText.toString.equalsJOptionPane.showMessageDialognull部门不能为空添加JOptionPane.WARNING_MESSAGE;elseo.tianjiaWno.getText.toStringWname.getText.toStringWaddress.getText.toStringWphoneno.getText.toStringWdepart.getText.toStringWsalary.getText.toStringWtime.getText.toStringWoccup.getText.toString;}catchExceptione1{e
1.printStackTrace;}JOptionPane.showMessageDialognull添加成功!添加成功提示JOptionPane.INFORMATION_MESSAGE;}};button
2.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{Wno.setText;Wname.setText;Waddress.setText;Wphoneno.setText;Wdepart.setText;Wsalary.setText;Wtime.setText;Woccup.setText;}};setVisibletrue;}publicstaticvoidmainString[]args{WorkerAddapp=newWorkerAdd;}}
(8)Add.javaimportjava.sql.*;publicclassAdd{publicvoidtianjiaStringWnoStringWnameStringWaddressStringWphonenoStringWdepartStringWsalaryStringWtimeStringWoccupthrowsException{StringJDriver=sun.jdbc.odbc.JdbcOdbcDriver;StringconnectionURL=jdbc:odbc:redsun;Class.forNameJDriver;//ConnecttheODBCresource.Connectioncon=DriverManager.getConnectionconnectionURL;System.out.println******数据库连接成功!;Stringstr=insertinto员工信息职工号姓名地址电话部门工资参加工作时间职务values;PreparedStatementprep=con.prepareStatementstr;prep.setString1Wno;prep.setString2Wname;prep.setString3Waddress;prep.setString4Wphoneno;prep.setString5Wdepart;prep.setString6Wsalary;prep.setString7Wtime;prep.setString8Woccup;prep.executeUpdate;con.close;}}
(9)WorkerUpdate.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;importjavax.swing.border.EmptyBorder;importjavax.swing.table.*;importjava.util.Vector;publicclassWorkerUpdateextendsJFrame{Containerc;JPanelpanel1panel2panel3panel4;JLabelLabnoLabnameLabaddressLabphonenoLabdepartLabsalaryLabtimeLaboccup;JTextFieldWnoWnameWaddressWphonenoWdepartWsalaryWtimeWoccup;JButtonBtnopenBtnupdate;JTabletable=null;DefaultTableModeldefaultModel=null;WorkerUpdate{super修改职工信息;c=getContentPane;c.setLayoutnewBorderLayout;Labno=newJLabel职工号:JLabel.CENTER;Labname=newJLabel姓名:JLabel.CENTER;Labaddress=newJLabel地址:JLabel.CENTER;Labphoneno=newJLabel电话:JLabel.CENTER;Labdepart=newJLabel部门:JLabel.CENTER;Labsalary=newJLabel工资:JLabel.CENTER;Labtime=newJLabel参加工作时间:JLabel.CENTER;Laboccup=newJLabel职务:JLabel.CENTER;Wno=newJTextField15;Wname=newJTextField15;Waddress=newJTextField15;Wphoneno=newJTextField15;Wdepart=newJTextField15;Wsalary=newJTextField15;Wtime=newJTextField15;Woccup=newJTextField15;Btnopen=newJButton打开;Btnupdate=newJButton修改;String[]n={职工号姓名地址电话部门工资参加工作时间职务};String[][]data=newString
[0]
[0];defaultModel=newDefaultTableModeldatan;table=newJTabledefaultModel;table.setPreferredScrollableViewportSizenewDimension700240;JScrollPanes=newJScrollPanetable;panel2=newJPanel;panel
2.adds;c.addBorderLayout.NORTHcreateTopPane;c.addBorderLayout.CENTERcreateBtnPane;c.addBorderLayout.SOUTHpanel2;pack;this.setSize740500;setVisibletrue;Btnopen.addActionListenernewActionListener{publicvoidactionPerformedActionEventex{try{Class.forNamesun.jdbc.odbc.JdbcOdbcDriver;}catchjava.lang.ClassNotFoundExceptione{System.out.printlnForName:+e.getMessage;}StringWorkerno=Wno.getText;Stringstr=null;Stringstr1=select职工号姓名地址电话部门工资参加工作时间职务from员工信息;try{ifWorkerno.equals{str=str1;}else{str=str1+where职工号=+Wno.getText+;}Connectioncon=DriverManager.getConnectionjdbc:odbc:redsun;Statementstmt=con.createStatement;ResultSetrs=stmt.executeQuerystr;whilers.next{Vectordata=newVector;data.addElementrs.getString1;data.addElementrs.getString2;data.addElementrs.getString3;data.addElementrs.getString4;data.addElementrs.getString5;data.addElementrs.getString6;data.addElementrs.getString7;data.addElementrs.getString8;defaultModel.addRowdata;}table.revalidate;}catchSQLExceptione{System.out.printlnSQLException:+e.getMessage;}}};Btnupdate.addActionListenernewActionListener{publicvoidactionPerformedActionEvente{try{Submit1o=newSubmit1;ifWname.getText.toString.equalsJOptionPane.showMessageDialognull姓名不能为空添加JOptionPane.WARNING_MESSAGE;elseo.tijiaoWno.getText.toStringWname.getText.toStringWaddress.getText.toStringWphoneno.getText.toStringWdepart.getText.toStringWsalary.getText.toStringWtime.getText.toStringWoccup.getText.toString;}catchExceptione1{e
1.printStackTrace;}JOptionPane.showMessageDialognull修改成功!修改成功提示JOptionPane.INFORMATION_MESSAGE;}};}privateJPanelcreateTopPane{JPanelpane=newJPanelnewGridLayout4455;pane.setBordernewEmptyBorder20202020;pane.addLabno;pane.addWno;pane.addLabdepart;pane.addWdepart;pane.addLabname;pane.addWname;pane.addLabsalary;pane.addWsalary;pane.addLabaddress;pane.addWaddress;pane.addLabtime;pane.addWtime;pane.addLabphoneno;pane.addWphoneno;pane.addLaboccup;pane.addWoccup;returnpane;}privateJPanelcreateBtnPane{JPanelpane=newJPanelnewFlowLayout;pane.setBordernewEmptyBorder5555;pane.addBtnopen;pane.addBtnupdate;returnpane;}publicstaticvoidmainString[]args{newWorkerUpdate;}}
(10)Submit
1.javaimportjava.sql.*;publicclassSubmit1{publicvoidtijiaoStringWnoStringWnameStringWaddressStringWphonenoStringWdepartStringWsalaryStringWtimeStringWoccupthrowsException{StringJDriver=sun.jdbc.odbc.JdbcOdbcDriver;StringconnectionURL=jdbc:odbc:redsun;Class.forNameJDriver;//ConnecttheODBCresource.Connectioncon=DriverManager.getConnectionconnectionURL;Statementstmt=con.createStatement;System.out.println连接数据库成功!;Stringquery1=update员工信息set姓名=+Wname+地址=+Waddress++电话=+Wphoneno+部门=+Wdepart++工资=+Wsalary+参加工作时间=+Wtime++职务=+Woccup++where职工号=+Wno+;System.out.println******+Wname++Waddress++Wphoneno++Wdepart++Wsalary++Wtime++Woccup;stmt.executeUpdatequery1;stmt.close;con.close;}}
(11)WorkerSelect.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;importjavax.swing.border.EmptyBorder;importjavax.swing.table.*;importjava.util.Vector;publicclassWorkerSelectextendsJFrame{Containerc;JPanelpanel1panel2panel3;JLabelWnoLabel;JTextFieldWTextField;JButtonBtnselect;JTabletable=null;DefaultTableModeldefaultModel=null;WorkerSelect{super查询职工信息;c=getContentPane;c.setLayoutnewBorderLayout;WnoLabel=newJLabel职工号:JLabel.CENTER;WTextField=newJTextField15;Btnselect=newJButton查询;panel1=newJPanel;panel3=newJPanel;panel
1.addWnoLabel;panel
1.addWTextField;panel
3.addBtnselect;String[]n={职工号姓名地址电话部门工资参加工作时间职务};String[][]data=newString
[0]
[0];defaultModel=newDefaultTableModeldatan;table=newJTabledefaultModel;table.setPreferredScrollableViewportSizenewDimension700350;JScrollPanes=newJScrollPanetable;panel2=newJPanel;panel
2.setBordernewEmptyBorder5555;panel
2.adds;c.addBorderLayout.NORTHcreateTopPane;c.addpanel2BorderLayout.SOUTH;pack;this.setSize740500;setVisibletrue;Btnselect.addActionListenernewActionListener{publicvoidactionPerformedActionEventex{try{Class.forNamesun.jdbc.odbc.JdbcOdbcDriver;}catchjava.lang.ClassNotFoundExceptione{System.out.printlnForName:+e.getMessage;}StringWno=WTextField.getText;Stringstr=null;Stringstr1=select职工号姓名地址电话部门工资参加工作时间职务from员工信息;try{ifWno.equals{str=str1;}else{str=str1+where职工号=+WTextField.getText+;Connectioncon=DriverManager.getConnectionjdbc:odbc:redsun;Statementstmt=con.createStatement;System.out.println*****连接数据库成功!;ResultSetrs=stmt.executeQuerystr;whilers.next{Vectordata=newVector;data.addElementrs.getString1;data.addElementrs.getString2;data.addElementrs.getString3;data.addElementrs.getString4;data.addElementrs.getString5;data.addElementrs.getString6;data.addElementrs.getString7;data.addElementrs.getString8;defaultModel.addRowdata;}table.revalidate;}}catchSQLExceptione{System.out.printlnSQLException:+e.getMessage;}}};}privateJPanelcreateTopPane{JPanelpane=newJPanelnewFlowLayout;pane.setBordernewEmptyBorder10101010;pane.addWnoLabel;pane.addWTextField;pane.addBtnselect;returnpane;}publicstaticvoidmainString[]args{newWorkerSelect;}}
(12)WorkerDelete.javaimportjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.sql.*;importjavax.swing.border.EmptyBorder;importjavax.swing.table.*;importjava.util.Vector;publicclassWorkerDeleteextendsJFrame{Containerc;JPanelpanel2;JLabelWnoLabel;JTextFieldWTextField;JButtonBtnselectBtndelete;JTabletable=null;DefaultTableModeldefaultModel=null;WorkerDelete{super删除职工信息;c=getContentPane;c.setLayoutnewBorderLayout;WnoLabel=newJLabel职工号:;WTextField=newJTextField15;Btnselect=newJButton显示所有职工;Btndelete=newJButton删除;String[]n={职工号姓名地址电话部门工资参加工作时间职务};String[][]data=newString
[0]
[0];defaultModel=newDefaultTableModeldatan;table=newJTabledefaultModel;table.setPreferredScrollableViewportSizenewDimension700350;JScrollPanes=newJScrollPanetable;panel2=newJPanel;panel
2.setBordernewEmptyBorder5555;panel
2.adds;c.addBorderLayout.NORTHcreateTopPane;c.addBorderLayout.SOUTHpanel2;pack;this.setSize740520;setVisibletrue;Btnselect.addActionListenernewActionListener{publicvoidactionPerformedActionEventex{try{Class.forNamesun.jdbc.odbc.JdbcOdbcDriver;}catchjava.lang.ClassNotFoundExceptione{System.out.printlnForName:+e.getMessage;}StringWno=WTextField.getText;Stringstr=null;Stringstr1=select职工号姓名地址电话部门工资参加工作时间职务from员工信息;try{ifWno.equals{str=str1;}//str=str1+where职工号=+WTextField.getText+;Connectioncon=DriverManager.getConnectionjdbc:odbc:redsun;Statementstmt=con.createStatement;System.out.println*****连接数据库成功!;ResultSetrs=stmt.executeQuerystr;whilers.next{Vectordata=newVector;data.addElementrs.getString1;data.addElementrs.getString2;data.addElementrs.getString3;data.addElementrs.getString4;data.addElementrs.getString5;data.addElementrs.getString6;data.addElementrs.getString7;data.addElementrs.getString8;defaultModel.addRowdata;}table.revalidate;}catchSQLExceptione{System.out.printlnSQLException:+e.getMessage;}}};Btndelete.addActionListenernewActionListener{publicvoidactionPerformedActionEventex{try{Class.forNamesun.jdbc.odbc.JdbcOdbcDriver;}catchjava.lang.ClassNotFoundExceptione{System.out.printlnForName:+e.getMessage;}StringWno=WTextField.getText;Stringstr=null;try{ifWno.equals||Wno==null{JOptionPane.showMessageDialognull职工号不能为空消息提示JOptionPane.WARNING_MESSAGE;}else{str=DELETEFrom员工信息+where职工号=+WTextField.getText+;Connectioncon=DriverManager.getConnectionjdbc:odbc:redsun;Statementstmt=con.createStatement;stmt.executeUpdatestr;JOptionPane.showMessageDialognull删除成功!消息提示JOptionPane.INFORMATION_MESSAGE;}}catchSQLExceptione{System.out.printlnSQLException:+e.getMessage;}}};}privateJPanelcreateTopPane{JPanelpane=newJPanelnewBorderLayout;pane.setBordernewEmptyBorder5555;JPaneltop=newJPanelnewFlowLayout;pane.addBorderLayout.NORTHtop;top.addWnoLabel;top.addWTextField;pane.addBorderLayout.SOUTHcreateBtnPane;returnpane;}privateJPanelcreateBtnPane{JPanelpane=newJPanelnewFlowLayout;pane.addBtnselect;pane.addBtndelete;returnpane;}publicstaticvoidmainString[]args{newWorkerDelete;}}目录TOC\o1-2\h\u1系统设计目标
11.1需求分析
11.2系统功能设计
11.3系统开发工具12系统数据库设计与实现
22.1数据表的实体E-R图
22.2数据表的结构23窗体设计
33.1登录页面设计
33.2管理员权限
43.3一般用户权限64设计体会及今后的改进意见
74.1设计体会
74.2今后的改进意见7参考文献8附录源程序代码9人事管理系统用户登录信息入库身份验证管理员权限一般用户权限添加职工信息修改密码和权限添加用户修改职工信息查询职工信息退出系统查询职工信息退出系统删除职工信息员工信息职工号姓名工资参加工作时间部门电话地址职务系统用户职工号密码用户类。