还剩37页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
员工薪资管理系统课程设计学院班级学号姓名余黎晨李雪敏敬翰林颜学宏指导教师李竹林目录一绪论
1.1设计目的
1.2设计内容
1.3开发背景
1.4开发环境
1.5组内成员及分工二需求分析
2.1题目分析
2.2功能分析
2.3数据流图
2.4数据字典
2.5系统功能三系统分析与设计
3.1概念结构设计
3.2逻辑结构设计
3.3物理结构设计四数据库实施及运行
4.1建基本表
4.3功能实现
4.4完整代码五设计心得及体会一绪论
1.1设计目的员工薪资系统的主要目的是通过操作计算机代替手工劳动,能够在该系统内完成员工的信息录入,查询,删除等操作,方便公司的高效化,规范化管理,有利于员工更好更方便了解自己的薪资信息系统开发的总体任务就是实现员工薪资管理的系统化、规范化和自动化
1.2设计内容题目6员工薪资管理背景资料某单位现有1000名员工,其中有管理人员、财务人员、技术人员和销售人员该单位下设4个科室,即经理室、财务科、技术科和销售科工资由基本工资、福利补贴和奖励工资构成,失业保险和住房公积金在工资中扣除每个员工的基本资料有姓名、性别、年龄、单位和职业(如经理、工程师、销售员等)每月个人的最高工资不超过3000元工资按月发放,实际发放的工资金额为工资减去扣除设计要求进行需求分析,编写数据字典设计E-R图实现按照科室录入个人的基本资料、工资和扣除金额的数据计算个人的实际发放工资按科室、职业分类统计人数和工资金额实现分类查询能够删除辞职人员的数据开发工具不限
1.3开发背景当今社会,随着企业人数的不断增加,企业员工薪资的管理工作也越来越复杂,资金是企业生存的核心部分,而资金流动也是关键环节,随着计算机的普及,计算机管理系统已经原来越来越广泛的应用于各个中小型企业中,用计算机取代手工对企业管理的操作也是势在必行的,并且人为操作容易造成信息错误,纸质材料不易保存,可能会导致企业运转出现滞缓现象,影响企业发展为了更好的、更方便地管理企业中各个成员的工资发放情况,我们必须要有一个完善的、合理的、便捷的员工薪资管理系统来管理公司员工工资的发放情况该员工薪资管理系统主要用于中小型企业员工的工资发放管理,此系统的建立和使用有利于员工更好的了解自己的薪资信息,提高公司员工薪资发放工作的效率,大大减少纸质管理对工作带来的失误
1.4开发环境开发平台SQLServer2005开发工具EclipseJDBC开发语言SQL语言JAVA语言
1.5组内成员及分工李雪敏系统框架撰写报告颜学宏代码编写数据库的连接与运行余黎晨概念结构设计代码调试敬翰林逻辑结构设计需求分析二需求分析
2.1题目分析该题目要求设计一个员工薪资系统,实现员工信息的有序化,规范化,并能进行员工信息录入,查询,修改,删除等操作,能实现分类查询,
2.2功能分析该员工薪资系统能够实现的功能如下员工信息的管理,包括姓名,性别,年龄,职业,员工号,部门编号基本信息的录入,查询,删除,修改等操作部门信息的管理,包括部门编号和部门名称,查询每个部门的业绩和员工薪资情况薪资信息的管理,包括员工号,部门编号,基本工资,福利补贴,奖励工资,失业保险,住房公积金,实发薪资等信息,统计出员工的基本工资,福利补贴,奖励工资,扣除失业保险,住房公积金后所得的工
2.3数据流图注册员工员工基本信息查询员工员工工资记录员工薪资信息形成查询部门经理薪资信息管理部门工资记录统计分析财务统计人员
2.4数据字典数据字典在数据库设计中占有很重要的地位,数据字典是各类数据描述的集合,它是进行详细的数据收集和数据分析后所获得的主要成果根据数据流图对员工薪资管理数据库数据字典的设计如下所示
2.41数据结构名员工含义说明员工信息组成姓名,性别,年龄,职业,员工号
2.42数据结构名部门含义说明部门信息组成部门编号,部门名称
2.43数据结构名工资含义说明员工薪资信息组成员工号,部门编号,基本工资,福利补贴,奖励工资,扣罚工资,失业保险,住房公积金,实发薪资
2.5系统功能该员工薪资系统的功能如下三系统分析与设计
3.1概念结构设计E—R图设计员工实体——关系图性别姓名职业员工员工号年龄部门编号部门实体——关系图部门编号部门部门名称工资实体——关系图员工号实发薪资住房公积金福利补贴基本工资部门编号工资奖励工资失业保险总的E—R图
3.2概念结构设计E-R图表示的概念模型是用户数据要求的形式化,它不为任何一个DBMS所支持,而逻辑结构设计的任务就是把概念模型结构转换成某个具体的DBMS所支持的数据模型,员工薪资管理E-R图转换为关系模式为员工(姓名,性别,年龄,职业,员工号,部门编号)部门(部门编号,部门名称)薪资(员工号,员工工资,福利补贴,奖励工资,失业保险,住房公积金,实发薪资)四数据库实施与运行
4.1建基本表员工信息表部门信息表工资信息表
4.3功能实现
4.31系统界面展示
4.32员工信息查询功能按工号查询按姓名查询
4.33员工工资查询功能
4.34修改员工工资功能
4.35添加员工功能
4.36修改员工信息功能
4.37删除员工信息功能
4.4完整代码展示
4.41源程序代码//类DBConnect用于数据库的连接//导入sql包importjava.sql.*;//创建数据库连接类DBConnectpublicclassDBConnect{//静态方法提高数据库的连接效率publicstaticConnectiongetConnthrowsException{//加载JDBC驱动Class.forNamesun.jdbc.odbc.JdbcOdbcDriver;//以系统默认用户身份,连接数据库StudentManagerreturnDriverManager.getConnectionjdbc:odbc:Testdmj753;}}
4.42主框架代码//系统主框架类//导入系统的包importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;//创建主框架类MainFramepublicclassMainFrameextendsJFrameimplementsActionListener{//创建内容面板JPanelcontentPane;//创建菜单栏组件的对象JMenuBarjMenuBar1=newJMenuBar;//菜单条JMenujMenu0=newJMenu退出系统;//菜单JMenuItemjMenuItem0=newJMenuItem退出;//子菜单JMenujMenu1=newJMenu员工管理;JMenuItemjMenuItem1=newJMenuItem添加员工;JMenuItemjMenuItem2=newJMenuItem修改员工;JMenuItemjMenuItem3=newJMenuItem删除员工;JMenujMenu2=newJMenu工资管理;JMenuItemjMenuItem4=newJMenuItem添加工资;JMenuItemjMenuItem5=newJMenuItem修改工资;JMenuItemjMenuItem8=newJMenuItem工资查询;JMenujMenu3=newJMenu员工查询;JMenuItemjMenuItem6=newJMenuItem按工号查询;JMenuItemjMenuItem7=newJMenuItem按姓名查询;JMenuItemjMenuItem9=newJMenuItem互动;//创建标签,用于显示信息JLabeljLabel1=newJLabel欢迎使用员工薪资管理系统;//创建构造方法publicMainFrame{try{//关闭框架窗口时的默认事件方法setDefaultCloseOperationEXIT_ON_CLOSE;//调用初始化方法jbInit;}catchExceptionexception{exception.printStackTrace;}}//界面初始化方法privatevoidjbInitthrowsException{//创建内容面板contentPane=JPanelgetContentPane;//设置内容面板的布局为空contentPane.setLayoutnull;//主框架的大小setSizenewDimension400360;//主框架的标题setTitle员工薪资管理系统;//添加事件监听器jMenuItem
0.addActionListenerthis;jMenuItem
1.addActionListenerthis;jMenuItem
2.addActionListenerthis;jMenuItem
3.addActionListenerthis;jMenuItem
4.addActionListenerthis;jMenuItem
5.addActionListenerthis;jMenuItem
6.addActionListenerthis;jMenuItem
7.addActionListenerthis;jMenuItem
8.addActionListenerthis;jMenuItem
9.addActionListenerthis;//添加菜单条到主框架setJMenuBarjMenuBar1;//添加菜单到菜单条jMenuBar
1.addjMenu0;jMenuBar
1.addjMenu1;jMenuBar
1.addjMenu2;jMenuBar
1.addjMenu3;//添加菜单项到菜单jMenu
0.addjMenuItem0;jMenu
1.addjMenuItem1;jMenu
1.addjMenuItem2;jMenu
1.addjMenuItem3;jMenu
2.addjMenuItem4;jMenu
2.addjMenuItem5;jMenu
2.addjMenuItem8;jMenu
3.addjMenuItem6;jMenu
3.addjMenuItem7;//添加标签到主框架内容面板contentPane.addjLabel1;//设置标签组件的大小和字体jLabel
1.setFontnewjava.awt.Font黑体Font.BOLD20;jLabel
1.setBoundsnewRectangle657027555;}//菜单项事件对应的处理方法publicvoidactionPerformedActionEventactionEvent{//点击“系统”菜单下的“退出”菜单项ifactionEvent.getSource==jMenuItem0{System.exit0;}//点击“员工管理”菜单下的“添加员工”菜单项ifactionEvent.getSource==jMenuItem1{//创建“添加员工”面板对象AddEmployeeAddEmp=newAddEmployee;//移除主框架上原有的内容this.removethis.getContentPane;//加载“添加职工”面板的对象到主框架this.setContentPaneAddEmp;//令界面可见this.setVisibletrue;}//点击“员工管理”菜单下的“修改员工”菜单项ifactionEvent.getSource==jMenuItem2{//创建“修改员工”面板对象ModifyEmployeeModifyEmp=newModifyEmployee;this.removethis.getContentPane;//加载“修改员工”面板的对象到主框架this.setContentPaneModifyEmp;this.setVisibletrue;}//点击“员工管理”菜单下的“删除员工”菜单项ifactionEvent.getSource==jMenuItem3{//创建“删除员工”面板对象DeleteEmployeeDeleteEmp=newDeleteEmployee;this.removethis.getContentPane;//加载“删除员工”面板的对象到主框架this.setContentPaneDeleteEmp;this.setVisibletrue;}//点击“工资管理”菜单下的“添加工资”菜单项ifactionEvent.getSource==jMenuItem4{//创建工资添加的面板对象AddSalaryAddSal=newAddSalary;this.removethis.getContentPane;//加载工资添加面板的对象到主框架this.setContentPaneAddSal;this.setVisibletrue;}//点击“工资管理”菜单下的“修改工资”菜单项ifactionEvent.getSource==jMenuItem5{//创建工资修改的面板对象ModifySalaryModifySal=newModifySalary;this.removethis.getContentPane;//加载工资修改面板的对象到主框架this.setContentPaneModifySal;this.setVisibletrue;}//点击“工资管理”菜单下的“工资查询”菜单项ifactionEvent.getSource==jMenuItem8{//创建工资修改的面板对象SalaryInquireSalaryInq=newSalaryInquire;this.removethis.getContentPane;//加载工资修改面板的对象到主框架this.setContentPaneSalaryInq;this.setVisibletrue;}//点击“员工查询”菜单下的“按工号查询”菜单项ifactionEvent.getSource==jMenuItem6{//创建“按工号查询”面板对象InquireOnGHOnGH=newInquireOnGH;//移除主框架上原有的内容this.removethis.getContentPane;this.setContentPaneOnGH;this.setVisibletrue;}}}
4.43主函数Main代码//系统的主程序类Main//导入包importjava.awt.*;importjavax.swing.*;//创建主系统类classMain{publicstaticvoidmainString[]args{//创建主界面,调用MainFrame构造函数和方法MainFrameframe=newMainFrame;//获取屏幕尺寸DimensionscreenSize=Toolkit.getDefaultToolkit.getScreenSize;//获取主界面的窗体尺寸DimensionframeSize=frame.getSize;//令主界面窗体居中ifframeSize.heightscreenSize.heightframeSize.height=screenSize.height;ifframeSize.widthscreenSize.widthframeSize.width=screenSize.width;frame.setLocationscreenSize.width-frameSize.width/2screenSize.height-frameSize.height/2;//令主界面显示frame.setVisibletrue;}}
4.44员工信息查询代码按工号查询代码//导入系统的类包importjava.awt.*;im//按员工号查询面板类InquireOnGHportjava.sql.*;importjavax.swing.*;importjava.awt.event.*;//创建“按员工号查询”类publicclassInquireOnGHextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象标签、文本行、单选JLabeljLabel1=newJLabel请输入员工号;JTextFieldjTextField1=newJTextField;JButtonjButton1=newJButton查找;JTextAreajTextArea1=newJTextArea;//构造方法publicInquireOnGH{try{//调用初始化方法jbInit;}catchExceptionexception{exception.printStackTrace;}}//面板初始化方法privatevoidjbInitthrowsException{//连接数据库con=DBConnect.getConn;st=con.createStatement;//框架的布局this.setLayoutnull;//设置各组件的大小jLabel
1.setFontnewjava.awt.Font黑体Font.BOLD16;jLabel
1.setBoundsnewRectangle46422232;jTextField
1.setBoundsnewRectangle473724731;jButton
1.setBoundsnewRectangle478624730;jTextArea
1.setBoundsnewRectangle24130305109;//添加按钮动作事件jButton
1.addActionListenerthis;//添加组件到面板this.addjLabel1;this.addjTextField1;this.addjTextArea1;this.addjButton1;}//点击按钮事件publicvoidactionPerformedActionEvente{//获取输入的员工号StringEmployeeID=jTextField
1.getText;//清空文本区原有的内容jTextArea
1.setText;try{//利用st对象执行SQL语句,返回结果集对象ResultSetrs=st.executeQueryselect*fromEmployeewhere员工号=+EmployeeID+;//处理结果集ifrs.next{jTextArea
1.setText员工号:+rs.getString员工号+\n+员工姓名:+rs.getString员工姓名+\n+员工性别:+rs.getString员工性别+\n+员工年龄:+rs.getString员工年龄+\n+部门名称:+rs.getString部门名称+\n+员工职业:+rs.getString员工职业+\n;}else{JOptionPane.showMessageDialogthis没有这个员工号的员工!;}}catchExceptionex{//利用消息对话框提示查询失败JOptionPane.showMessageDialogthis员工查询失败!;}}}按姓名查询//按员工姓名查询面板类InquireOnName//导入系统的类包importjava.awt.*;importjava.sql.*;importjavax.swing.*;importjava.awt.event.*;//创建“按员工姓名查询”类publicclassInquireOnNameextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象标签、文本行、单选JLabeljLabel1=newJLabel请输入员工姓名;JTextFieldjTextField1=newJTextField;JButtonjButton1=newJButton查找;JTextAreajTextArea1=newJTextArea;//构造方法publicInquireOnName{try{//调用初始化方法jbInit;}catchExceptionexception{exception.printStackTrace;}}//面板初始化方法privatevoidjbInitthrowsException{//连接数据库con=DBConnect.getConn;st=con.createStatement;//框架的布局this.setLayoutnull;//设置各组件的大小jLabel
1.setFontnewjava.awt.Font黑体Font.BOLD16;jLabel
1.setBoundsnewRectangle46422232;jTextField
1.setBoundsnewRectangle473724731;jButton
1.setBoundsnewRectangle478624730;jTextArea
1.setBoundsnewRectangle24130305109;//添加按钮动作事件jButton
1.addActionListenerthis;//添加组件到面板this.addjLabel1;this.addjTextField1;this.addjTextArea1;this.addjButton1;}//点击按钮事件publicvoidactionPerformedActionEvente{//获取输入的员工的姓名StringEmployeeName=jTextField
1.getText;//清空文本区原有的内容jTextArea
1.setText;try{//利用st对象执行SQL语句,返回结果集对象ResultSetrs=st.executeQueryselect*fromEmployeewhere员工姓名=+EmployeeName+;//处理结果集ifrs.next{jTextArea
1.setText员工号:+rs.getString员工号+\n+员工姓名:+rs.getString员工姓名+\n+员工性别:+rs.getString员工性别+\n+员工年龄:+rs.getString员工年龄+\n+部门名称:+rs.getString部门名称+\n+员工职业:+rs.getString员工职业+\n;}else{JOptionPane.showMessageDialogthis没有这个员工号的员工!;}}catchExceptionex{//利用消息对话框提示查询失败JOptionPane.showMessageDialogthis员工查询失败!;}}}
4.45员工工资查询代码//工资查询面板类SalaryInquire//导入系统的类包importjava.awt.*;importjava.sql.*;importjavax.swing.*;importjava.awt.event.*;//创建“工资查询”类publicclassSalaryInquireextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象标签、文本行、单选JLabeljLabel1=newJLabel请输入要查询的员工号;JTextFieldjTextField1=newJTextField;JButtonjButton1=newJButton工资查询;JTextAreajTextArea1=newJTextArea;//构造方法publicSalaryInquire{try{//调用初始化方法jbInit;}catchExceptionexception{exception.printStackTrace;}}//面板初始化方法privatevoidjbInitthrowsException{//连接数据库con=DBConnect.getConn;st=con.createStatement;//框架的布局this.setLayoutnull;//设置各组件的大小jLabel
1.setFontnewjava.awt.Font黑体Font.BOLD16;jLabel
1.setBoundsnewRectangle46422232;jTextField
1.setBoundsnewRectangle473724731;jButton
1.setBoundsnewRectangle478624730;jTextArea
1.setBoundsnewRectangle24130305109;//添加按钮动作事件jButton
1.addActionListenerthis;//添加组件到面板this.addjLabel1;this.addjTextField1;this.addjTextArea1;this.addjButton1;}//点击按钮事件publicvoidactionPerformedActionEvente{//获取输入的员工号StringEmployeeID=jTextField
1.getText;//清空文本区原有的内容jTextArea
1.setText;try{//利用st对象执行SQL语句,返回结果集对象ResultSetrs=st.executeQueryselect*fromSalarywhere员工号=+EmployeeID+;//处理结果集ifrs.next{jTextArea
1.setText员工号:+rs.getString员工号+\n+员工工资:+rs.getString员工工资+\n;}else{JOptionPane.showMessageDialogthis该员工号的员工没有工资记录!;}}catchExceptionex{//利用消息对话框提示查询失败JOptionPane.showMessageDialogthis工资查询失败!;}}}
4.46修改工资代码//“修改工资”面板类ModifySalary//导入系统的类包importjava.awt.*;importjava.sql.*;importjavax.swing.*;importjava.awt.event.*;//创建“修改工资”面板类publicclassModifySalaryextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象标签、文本行、单选JLabeljLabel1=newJLabel请输入员工号;JTextFieldjTextField1=newJTextField;JButtonjButton1=newJButton查找该员工;JLabeljLabel2=newJLabel员工号:;JTextFieldjTextField2=newJTextField;JLabeljLabel3=newJLabel员工工资:;JTextFieldjTextField3=newJTextField;JButtonjButton2=newJButton修改工资;//构造方法publicModifySalary{try{//调用初始化方法jbInit;}catchExceptionexception{exception.printStackTrace;}}//面板初始化方法privatevoidjbInitthrowsException{//连接数据库con=DBConnect.getConn;st=con.createStatement;//框架的布局this.setLayoutnull;//设置各组件的大小jLabel
1.setFontnewjava.awt.Font楷体Font.BOLD14;jLabel
1.setBoundsnewRectangle402514030;jTextField
1.setBoundsnewRectangle1852512030;jButton
1.setBoundsnewRectangle1106512030;jLabel
2.setFontnewjava.awt.Font楷体Font.BOLD14;jLabel
2.setBoundsnewRectangle901258030;jTextField
2.setBoundsnewRectangle1701258030;jLabel
3.setFontnewjava.awt.Font楷体Font.BOLD14;jLabel
3.setBoundsnewRectangle901608030;jTextField
3.setBoundsnewRectangle1701608030;jButton
2.setBoundsnewRectangle12020010030;//添加按钮动作事件jButton
1.addActionListenerthis;jButton
2.addActionListenerthis;//添加组件到面板this.addjLabel1;this.addjTextField1;this.addjButton1;this.addjLabel2;this.addjTextField2;jTextField
2.setEditablefalse;this.addjLabel3;this.addjTextField3;this.addjButton2;}//点击按钮事件publicvoidactionPerformedActionEventactionevent{//点击“查找该员工”按钮ifactionevent.getSource==jButton1{//获取输入的员工号StringEmployeeID=jTextField
1.getText;try{//利用st对象执行SQL语句,返回结果集对象ResultSetrs=st.executeQueryselect*fromSalarywhere员工号=+EmployeeID+;//处理结果集ifrs.next{jTextField
2.setTextrs.getString员工号;jTextField
3.setTextrs.getString员工工资;}else{JOptionPane.showMessageDialogthis没有这个员工号的员工!;}}catchExceptionex{//利用消息对话框提示查询失败JOptionPane.showMessageDialogthis工资修改失败!;}}//点击“修改工资”按钮ifactionevent.getSource==jButton2{//获取用户更改的工资try{//利用st对象执行SQL语句,进行修改操作st.executeUpdateupdateSalaryset员工工资=+jTextField
3.getText+where员工号=+jTextField
2.getText+;//利用消息对话框提示工资修改成功JOptionPane.showMessageDialogthis工资修改成功!;}catchExceptionex{//利用消息对话框提示异常的信息JOptionPane.showMessageDialogthis工资修改失败!;ex.printStackTrace;}}}}
4.47员工添加代码//添加员工面板类AddEmployee//导入系统的类包importjava.awt.*;importjava.sql.*;importjavax.swing.*;importjava.awt.event.*;//创建“添加员工“面板类publicclassAddEmployeeextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象标签、文本行、单选JLabeljLabel1=newJLabel员工号;JLabeljLabel2=newJLabel员工姓名;JLabeljLabel3=newJLabel员工性别;JLabeljLabel4=newJLabel员工年龄;JLabeljLabel5=newJLabel部门名称;JLabeljLabel6=newJLabel员工职业;JTextFieldjTextField1=newJTextField;JTextFieldjTextField2=newJTextField;JTextFieldjTextField3=newJTextField;JTextFieldjTextField4=newJTextField;JTextFieldjTextField5=newJTextField;JRadioButtonjRadioButton1=newJRadioButton男;JRadioButtonjRadioButton2=newJRadioButton女;ButtonGroupbuttonGroup1=newButtonGroup;JButtonjButton1=newJButton添加员工;//构造方法publicAddEmployee{try{//调用初始化方法jbInit;}catchExceptionexception{exception.printStackTrace;}}//界面初始化方法privatevoidjbInitthrowsException{//连接数据库con=DBConnect.getConn;st=con.createStatement;//框架的布局this.setLayoutnull;//设置各组件的大小jLabel
1.setBoundsnewRectangle21176424;jLabel
2.setBoundsnewRectangle21515322;jLabel
3.setBoundsnewRectangle21866127;jLabel
4.setBoundsnewRectangle211225925;jLabel
5.setBoundsnewRectangle211685424;jLabel
6.setBoundsnewRectangle212055424;jTextField
1.setBoundsnewRectangle1021020030;jTextField
2.setBoundsnewRectangle1024920030;jTextField
3.setBoundsnewRectangle1021178033;jTextField
4.setBoundsnewRectangle10216320029;jTextField
5.setBoundsnewRectangle10220020029;jRadioButton
1.setBoundsnewRectangle102836530;jRadioButton
2.setBoundsnewRectangle190858530;jButton
1.setBoundsnewRectangle13024015032;//设置单选按钮被选中jRadioButton
1.setSelectedtrue;//添加按钮动作事件jButton
1.addActionListenerthis;//添加组件到面板this.addjLabel1;this.addjTextField1;this.addjLabel2;this.addjTextField2;this.addjLabel3;buttonGroup
1.addjRadioButton1;buttonGroup
1.addjRadioButton2;this.addjRadioButton1;this.addjRadioButton2;this.addjLabel4;this.addjTextField3;this.addjLabel5;this.addjTextField4;this.addjLabel6;this.addjTextField5;this.addjButton1;}//点击按钮事件publicvoidactionPerformedActionEvente{//获取用户输入的信息StringEmployeeID=jTextField
1.getText;StringEmployeeName=jTextField
2.getText;StringEmployeeSex=;ifjRadioButton
1.isSelectedEmployeeSex+=男;ifjRadioButton
2.isSelectedEmployeeSex+=女;StringEmployeeAge=jTextField
3.getText;StringEmployeeAddress=jTextField
4.getText;StringEmployeePhone=jTextField
5.getText;try{//设置日期格式st.executesetdateformatymd;//利用st对象执行SQL语句,进行插入操作st.executeUpdateinsertintoEmployeevalues+EmployeeID++EmployeeName++EmployeeSex++EmployeeAge++EmployeeAddress++EmployeePhone+;//利用消息对话框提示员工添加成功JOptionPane.showMessageDialogthis员工添加成功!;//清空文本行的内容jTextField
1.setText;jTextField
2.setText;jTextField
3.setText;jTextField
4.setText;jTextField
5.setText;}catchExceptionex{//利用消息对话框提示异常的信息JOptionPane.showMessageDialogthis员工添加失败!;ex.printStackTrace;}}}
4.48修改员工信息代码//“员工信息修改”面板类ModifyEmployee//导入系统的类包importjava.awt.*;importjava.sql.*;importjavax.swing.*;importjava.awt.event.*;//创建“员工信息修改资”类publicclassModifyEmployeeextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象标签、文本行、单选JLabeljLabel1=newJLabel请输入员工号;JTextFieldjTextField1=newJTextField;JButtonjButton1=newJButton查找该员工;JLabeljLabel2=newJLabel员工号:;JTextFieldjTextField2=newJTextField;JLabeljLabel3=newJLabel员工姓名:;JTextFieldjTextField3=newJTextField;JLabeljLabel4=newJLabel员工性别:;JTextFieldjTextField4=newJTextField;JLabeljLabel5=newJLabel员工年龄:;JTextFieldjTextField5=newJTextField;JLabeljLabel6=newJLabel部门名称:;JTextFieldjTextField6=newJTextField;JLabeljLabel7=newJLabel员工职业:;JTextFieldjTextField7=newJTextField;JButtonjButton2=newJButton修改员工信息;//构造方法publicModifyEmployee{try{//调用初始化方法jbInit;}catchExceptionexception{exception.printStackTrace;}}//面板初始化方法privatevoidjbInitthrowsException{//连接数据库con=DBConnect.getConn;st=con.createStatement;//框架的布局this.setLayoutnull;//设置各组件的大小jLabel
1.setFontnewjava.awt.Font楷体Font.BOLD14;jLabel
1.setBoundsnewRectangle401514030;jTextField
1.setBoundsnewRectangle1851512030;jButton
1.setBoundsnewRectangle1105515030;jLabel
2.setFontnewjava.awt.Font楷体Font.BOLD14;jLabel
2.setBoundsnewRectangle201058030;jTextField
2.setBoundsnewRectangle1001058030;jLabel
3.setFontnewjava.awt.Font楷体Font.BOLD14;jLabel
3.setBoundsnewRectangle1901058030;jTextField
3.setBoundsnewRectangle2701058030;jLabel
4.setFontnewjava.awt.Font楷体Font.BOLD14;jLabel
4.setBoundsnewRectangle201458030;jTextField
4.setBoundsnewRectangle1001458030;jLabel
5.setFontnewjava.awt.Font楷体Font.BOLD14;jLabel
5.setBoundsnewRectangle1901458030;jTextField
5.setBoundsnewRectangle2701458030;jLabel
6.setFontnewjava.awt.Font楷体Font.BOLD14;jLabel
6.setBoundsnewRectangle201858030;jTextField
6.setBoundsnewRectangle1001858030;jLabel
7.setFontnewjava.awt.Font楷体Font.BOLD14;jLabel
7.setBoundsnewRectangle1901858030;jTextField
7.setBoundsnewRectangle2701858030;jButton
2.setBoundsnewRectangle12024015030;//添加按钮动作事件jButton
1.addActionListenerthis;jButton
2.addActionListenerthis;//添加组件到面板this.addjLabel1;this.addjTextField1;this.addjButton1;this.addjLabel2;this.addjTextField2;jTextField
2.setEditablefalse;this.addjLabel3;this.addjTextField3;this.addjLabel4;this.addjTextField4;this.addjLabel5;this.addjTextField5;this.addjLabel6;this.addjTextField6;this.addjLabel7;this.addjTextField7;this.addjButton2;}//点击按钮事件publicvoidactionPerformedActionEventactionevent{//点击“查找该员工”按钮ifactionevent.getSource==jButton1{try{//利用st对象执行SQL语句,返回结果集对象ResultSetrs=st.executeQueryselect*fromEmployeewhere员工号=+jTextField
1.getText+;//处理结果集ifrs.next{jTextField
2.setTextrs.getString员工号;jTextField
3.setTextrs.getString员工姓名;jTextField
4.setTextrs.getString员工性别;jTextField
5.setTextrs.getString员工年龄;jTextField
6.setTextrs.getString部门名称;jTextField
7.setTextrs.getString员工职业;}else{JOptionPane.showMessageDialogthis没有这个员工号的员工!;}}catchExceptionex{//利用消息对话框提示查询失败JOptionPane.showMessageDialogthis员工信息修改失败!;}}//点击“修改工资”按钮ifactionevent.getSource==jButton2{//获取用户更改的工资try{//利用st对象执行SQL语句,进行插入操作st.executeUpdateupdateEmployeeset员工姓名=+jTextField
3.getText+where员工号=+jTextField
2.getText+;st.executeUpdateupdateEmployeeset员工性别=+jTextField
4.getText+where员工号=+jTextField
2.getText+;st.executeUpdateupdateEmployeeset员工年龄=+jTextField
5.getText+where员工号=+jTextField
2.getText+;st.executeUpdateupdateEmployeeset部门名称=+jTextField
6.getText+where员工号=+jTextField
2.getText+;st.executeUpdateupdateEmployeeset员工职业=+jTextField
7.getText+where员工号=+jTextField
2.getText+;//利用消息对话框提示员工信息修改成功JOptionPane.showMessageDialogthis员工信息修改成功!;}catchExceptionex{//利用消息对话框提示异常的信息JOptionPane.showMessageDialogthis员工信息修改失败!;ex.printStackTrace;}}}}
4.49删除员工代码//删除员工“面板类DeleteEmployee//导入系统的类包importjava.awt.*;importjava.sql.*;importjavax.swing.*;importjava.awt.event.*;//创建“删除员工”类publicclassDeleteEmployeeextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象JLabeljLabel1=newJLabel请输入待删除的员工号;JTextFieldjTextField1=newJTextField;JButtonjButton1=newJButton删除;//构造方法publicDeleteEmployee{try{//调用初始化方法jbInit;}catchExceptionexception{exception.printStackTrace;}}//界面初始化方法privatevoidjbInitthrowsException{//连接数据库con=DBConnect.getConn;st=con.createStatement;//框架的布局this.setLayoutnull;//设置各组件的大小jLabel
1.setFontnewjava.awt.Font黑体Font.BOLD14;jLabel
1.setBoundsnewRectangle702020030;jTextField
1.setBoundsnewRectangle708020741;jButton
1.setBoundsnewRectangle7017520536;//添加按钮动作事件jButton
1.addActionListenerthis;//添加组件到面板this.addjLabel1;this.addjTextField1;this.addjButton1;}//点击按钮事件publicvoidactionPerformedActionEvente{//获取用户输入的员工号StringEmployeeID=jTextField
1.getText;//要求用户确认删除ifJOptionPane.showConfirmDialogthis确认要删除吗?==JOptionPane.YES_OPTION{try{//利用st对象执行SQL删除操作st.executeUpdatedeletefromEmployeewhere员工号=+EmployeeID+;//利用消息对话框提示删除操作成功JOptionPane.showMessageDialogthis员工删除操作,执行成功!;//清空输入学号的文本行jTextField
1.setText;}catchExceptionex{//利用消息对话框提示不能删除JOptionPane.showMessageDialogthis员工删除操作,执行失败!;}}}}
4.50帮助互动代码//“帮助”面板类EmployeeHelp//导入系统的类包importjava.awt.*;importjava.sql.*;importjavax.swing.*;importjava.awt.event.*;//创建“帮助”面板类publicclassEmployeeHelpextendsJPanel{//创建组件对象标签JLabeljLabel1=newJLabel若有问题请联系:;JLabeljLabel4=newJLabel敬翰林;JLabeljLabel2=newJLabelQQ81652794;JLabeljLabel3=newJLabel邮箱81652794@qq.com;//构造方法publicEmployeeHelp{try{//调用初始化方法jbInit;}catchExceptionexception{exception.printStackTrace;}}//初始化privatevoidjbInitthrowsException{//框架的布局this.setLayoutnull;//设置各组件的大小jLabel
1.setFontnewjava.awt.Font楷体Font.BOLD20;jLabel
1.setBoundsnewRectangle505030030;jLabel
4.setFontnewjava.awt.Font楷体Font.BOLD20;jLabel
4.setBoundsnewRectangle509015030;jLabel
2.setFontnewjava.awt.Font楷体Font.BOLD20;jLabel
2.setBoundsnewRectangle5014030030;jLabel
3.setFontnewjava.awt.Font楷体Font.BOLD20;jLabel
3.setBoundsnewRectangle5018030030;//添加组件到面板this.addjLabel1;this.addjLabel2;this.addjLabel3;this.addjLabel4;}}
4.51员工薪资清单查询代码//薪资清单查询面板类XinInquire//导入系统的类包importjava.awt.*;importjava.sql.*;importjavax.swing.*;importjava.awt.event.*;//创建“薪资清单查询”类publicclassXinInquireextendsJPanelimplementsActionListener{//声明连接数据库对象Connectioncon;//声明SQL语句对象Statementst;//创建组件对象标签、文本行、单选JLabeljLabel1=newJLabel请输入要查询的员工号;JTextFieldjTextField1=newJTextField;JButtonjButton4=newJButton薪资清单查询;JTextAreajTextArea1=newJTextArea;//构造方法publicXinInquire{try{//调用初始化方法jbInit;}catchExceptionexception{exception.printStackTrace;}}//面板初始化方法privatevoidjbInitthrowsException{//连接数据库con=DBConnect.getConn;st=con.createStatement;//框架的布局this.setLayoutnull;//设置各组件的大小jLabel
1.setFontnewjava.awt.Font黑体Font.BOLD16;jLabel
1.setBoundsnewRectangle46422232;jTextField
1.setBoundsnewRectangle473724731;jButton
4.setBoundsnewRectangle478624730;jTextArea
1.setBoundsnewRectangle24130305109;//添加按钮动作事件jButton
4.addActionListenerthis;//添加组件到面板this.addjLabel1;this.addjTextField1;this.addjTextArea1;this.addjButton4;}//点击按钮事件publicvoidactionPerformedActionEvente{//获取输入的员工号StringEmployeeID=jTextField
1.getText;//清空文本区原有的内容jTextArea
1.setText;try{//利用st对象执行SQL语句,返回结果集对象ResultSetrs=st.executeQueryselect*fromSalaryInquirewhere员工号=+EmployeeID+;//处理结果集ifrs.next{jTextArea
1.setText员工工资:+rs.getString员工工资+\n+奖励工资:+rs.getString奖励工资+\n+福利补贴:+rs.getString福利补贴+\n+住房公积金:+rs.getString住房公积金+\n+失业保险:+rs.getString失业保险+\n+员工薪资:+rs.getString员工薪资+\n;}else{JOptionPane.showMessageDialogthis该员工号的员工没有薪资清单记录!;}}catchExceptionex{//利用消息对话框提示查询失败JOptionPane.showMessageDialogthis薪资查询失败!;}}}五:设计心得及体会通过设计这个员工薪资系统,我们收获了很多这是第一次课程设计感觉还是很困难的刚开始,建表,画E—R图都感觉没问题,可是到了JAVA连接数据库这里,就遇到了困难,开始老是连接不上调试了JDBC连接的代码,终于能连接上了,并且还可以出现系统界面但就是不能实现各种功能,于是我们就在代码上花了很长的时间,因为对JAVA的掌握不够好,以至于在这里遇到问题这个系统到现在还存在着很多问题,如不符合安全性要求,没有设置登录权限,不符合安全性要求等设计这个员工薪资系统,不仅让我们对企业的内部管理有了初步的了解和认识,也让我们对数据库有了更深的认识并对JAVA语言有了更深层次的掌握总之,通过设计这个系统,让我们在短短的时间学到了很多数据项名数据类型长度可否为空含义说明员工号char10no员工编号员工姓名char10no姓名员工年龄char10no年龄部门名称char10no所属部门员工职业char10no担任职务数据项名数据类型长度可否为空含义说明部门编号char4no科室类别部门名称char10no科室名称数据项名数据类型长度可否为空含义说明员工号char8no员工编号员工工资char4no所的工资奖励工资money8no基本工资员工薪资money8yes福利和补贴工资。