员工薪资管理系统课程设计_第1页
员工薪资管理系统课程设计_第2页
员工薪资管理系统课程设计_第3页
员工薪资管理系统课程设计_第4页
员工薪资管理系统课程设计_第5页
已阅读5页,还剩82页未读 继续免费阅读

下载本文档

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

文档简介

87/87职员薪资治理系统课程设计 学院:班级:学号:姓名:余黎晨李雪敏敬翰林颜学宏指导教师:李竹林目录一:绪论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数据结构名:职员含义讲明:职员信息组成:姓名,性不,年龄,职业,职员号数据项名数据类型长度可否为空含义讲明职员号char10no职员编号职员姓名char10no姓名职员年龄char10no年龄部门名称char10no所属部门职员职业char10no担任职务2.42数据结构名:部门含义讲明:部门信息 组成:部门编号,部门名称数据项名数据类型长度可否为空含义讲明部门编号char4no科室类不部门名称char10no科室名称2.43数据结构名:工资含义讲明:职员薪资信息组成:职员号,部门编号,差不多工资,福利补贴,奖励工资,扣罚工资,失业保险,住房公积金,实发薪资数据项名数据类型长度可否为空含义讲明职员号char8no职员编号职职员资char4no所的工资奖励工资money8no差不多工资职员薪资money8yes福利和补贴工资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{ //静态方法提高数据库的连接效率 publicstaticConnectiongetConn()throwsException { //加载JDBC驱动 Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); //以系统默认用户身份,连接数据库StudentManager returnDriverManager.getConnection("jdbc:odbc:Test","dmj","753"); }}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{ //关闭框架窗口时的默认事件方法 setDefaultCloseOperation(EXIT_ON_CLOSE); //调用初始化方法 jbInit(); } catch(Exceptionexception){ exception.printStackTrace(); } } //界面初始化方法 privatevoidjbInit()throwsException { //创建内容面板 contentPane=(JPanel)getContentPane(); //设置内容面板的布局为空 contentPane.setLayout(null); //主框架的大小 setSize(newDimension(400,360)); //主框架的标题 setTitle("职员薪资治理系统"); //添加事件监听器 jMenuItem0.addActionListener(this); jMenuItem1.addActionListener(this); jMenuItem2.addActionListener(this); jMenuItem3.addActionListener(this); jMenuItem4.addActionListener(this); jMenuItem5.addActionListener(this); jMenuItem6.addActionListener(this); jMenuItem7.addActionListener(this); jMenuItem8.addActionListener(this); jMenuItem9.addActionListener(this); //添加菜单条到主框架 setJMenuBar(jMenuBar1); //添加菜单到菜单条 jMenuBar1.add(jMenu0); jMenuBar1.add(jMenu1); jMenuBar1.add(jMenu2); jMenuBar1.add(jMenu3); //添加菜单项到菜单 jMenu0.add(jMenuItem0); jMenu1.add(jMenuItem1); jMenu1.add(jMenuItem2); jMenu1.add(jMenuItem3); jMenu2.add(jMenuItem4); jMenu2.add(jMenuItem5); jMenu2.add(jMenuItem8); jMenu3.add(jMenuItem6); jMenu3.add(jMenuItem7); //添加标签到主框架内容面板 contentPane.add(jLabel1); //设置标签组件的大小和字体 jLabel1.setFont(newjava.awt.Font("黑体",Font.BOLD,20)); jLabel1.setBounds(newRectangle(65,70,275,55)); } //菜单项事件对应的处理方法 publicvoidactionPerformed(ActionEventactionEvent) { //点击“系统”菜单下的“退出”菜单项 if(actionEvent.getSource()==jMenuItem0) { System.exit(0); } //点击“职员治理”菜单下的“添加职员”菜单项 if(actionEvent.getSource()==jMenuItem1) { //创建“添加职员”面板对象 AddEmployeeAddEmp=newAddEmployee(); //移除主框架上原有的内容 this.remove(this.getContentPane()); //加载“添加职工”面板的对象到主框架 this.setContentPane(AddEmp); //令界面可见 this.setVisible(true); } //点击“职员治理”菜单下的“修改职员”菜单项 if(actionEvent.getSource()==jMenuItem2) { //创建“修改职员”面板对象 ModifyEmployeeModifyEmp=newModifyEmployee(); this.remove(this.getContentPane()); //加载“修改职员”面板的对象到主框架 this.setContentPane(ModifyEmp); this.setVisible(true); } //点击“职员治理”菜单下的“删除职员”菜单项 if(actionEvent.getSource()==jMenuItem3) { //创建“删除职员”面板对象 DeleteEmployeeDeleteEmp=newDeleteEmployee(); this.remove(this.getContentPane()); //加载“删除职员”面板的对象到主框架 this.setContentPane(DeleteEmp); this.setVisible(true); } //点击“工资治理”菜单下的“添加工资”菜单项 if(actionEvent.getSource()==jMenuItem4) { //创建工资添加的面板对象 AddSalaryAddSal=newAddSalary(); this.remove(this.getContentPane()); //加载工资添加面板的对象到主框架 this.setContentPane(AddSal); this.setVisible(true); } //点击“工资治理”菜单下的“修改工资”菜单项 if(actionEvent.getSource()==jMenuItem5) { //创建工资修改的面板对象 ModifySalaryModifySal=newModifySalary(); this.remove(this.getContentPane()); //加载工资修改面板的对象到主框架 this.setContentPane(ModifySal); this.setVisible(true); } //点击“工资治理”菜单下的“工资查询”菜单项 if(actionEvent.getSource()==jMenuItem8) { //创建工资修改的面板对象 SalaryInquireSalaryInq=newSalaryInquire(); this.remove(this.getContentPane()); //加载工资修改面板的对象到主框架 this.setContentPane(SalaryInq); this.setVisible(true); } //点击“职员查询”菜单下的“按工号查询”菜单项 if(actionEvent.getSource()==jMenuItem6) { //创建“按工号查询”面板对象 InquireOnGHOnGH=newInquireOnGH(); //移除主框架上原有的内容 this.remove(this.getContentPane()); this.setContentPane(OnGH); this.setVisible(true); } }}4.43主函数Main代码://系统的主程序类Main//导入包importjava.awt.*;importjavax.swing.*;//创建主系统类classMain{ publicstaticvoidmain(String[]args) { //创建主界面,调用MainFrame()构造函数和方法 MainFrameframe=newMainFrame(); //猎取屏幕尺寸 DimensionscreenSize=Toolkit.getDefaultToolkit().getScreenSize(); //猎取主界面的窗体尺寸 DimensionframeSize=frame.getSize(); //令主界面窗体居中 if(frameSize.height>screenSize.height) frameSize.height=screenSize.height; if(frameSize.width>screenSize.width) frameSize.width=screenSize.width; frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize.height-frameSize.height)/2); //令主界面显示 frame.setVisible(true); }}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(); } catch(Exceptionexception){ exception.printStackTrace(); } } //面板初始化方法 privatevoidjbInit()throwsException { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(newjava.awt.Font("黑体",Font.BOLD,16)); jLabel1.setBounds(newRectangle(46,4,222,32)); jTextField1.setBounds(newRectangle(47,37,247,31)); jButton1.setBounds(newRectangle(47,86,247,30)); jTextArea1.setBounds(newRectangle(24,130,305,109)); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jTextArea1); this.add(jButton1); } //点击按钮事件 publicvoidactionPerformed(ActionEvente) { //猎取输入的职员号 StringEmployeeID=jTextField1.getText(); //清空文本区原有的内容 jTextArea1.setText(""); try{ //利用st对象执行SQL语句,返回结果集对象 ResultSetrs=st.executeQuery("select*fromEmployeewhere职员号='"+EmployeeID+"'"); //处理结果集 if(rs.next()) { jTextArea1.setText("职员号:"+rs.getString("职员号")+"\n"+"职员姓名:"+rs.getString("职员姓名")+"\n"+"职员性不:"+rs.getString("职员性不")+"\n"+"职员年龄:"+rs.getString("职员年龄")+"\n"+"部门名称:"+rs.getString("部门名称")+"\n"+"职员职业:"+rs.getString("职员职业")+"\n"); } else { JOptionPane.showMessageDialog(this,"没有那个职员号的职员!"); } } catch(Exceptionex){ //利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,"职员查询失败!"); } }}按姓名查询//"按职员姓名查询"面板类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(); } catch(Exceptionexception){ exception.printStackTrace(); } } //面板初始化方法 privatevoidjbInit()throwsException { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(newjava.awt.Font("黑体",Font.BOLD,16)); jLabel1.setBounds(newRectangle(46,4,222,32)); jTextField1.setBounds(newRectangle(47,37,247,31)); jButton1.setBounds(newRectangle(47,86,247,30)); jTextArea1.setBounds(newRectangle(24,130,305,109)); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jTextArea1); this.add(jButton1); } //点击按钮事件 publicvoidactionPerformed(ActionEvente) { //猎取输入的职员的姓名 StringEmployeeName=jTextField1.getText(); //清空文本区原有的内容 jTextArea1.setText(""); try{ //利用st对象执行SQL语句,返回结果集对象 ResultSetrs=st.executeQuery("select*fromEmployeewhere职员姓名='"+EmployeeName+"'"); //处理结果集 if(rs.next()) { jTextArea1.setText("职员号:"+rs.getString("职员号")+"\n"+"职员姓名:"+rs.getString("职员姓名")+"\n"+"职员性不:"+rs.getString("职员性不")+"\n"+"职员年龄:"+rs.getString("职员年龄")+"\n"+"部门名称:"+rs.getString("部门名称")+"\n"+"职员职业:"+rs.getString("职员职业")+"\n"); } else { JOptionPane.showMessageDialog(this,"没有那个职员号的职员!"); } } catch(Exceptionex){ //利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,"职员查询失败!"); } }}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(); } catch(Exceptionexception){ exception.printStackTrace(); } } //面板初始化方法 privatevoidjbInit()throwsException { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(newjava.awt.Font("黑体",Font.BOLD,16)); jLabel1.setBounds(newRectangle(46,4,222,32)); jTextField1.setBounds(newRectangle(47,37,247,31)); jButton1.setBounds(newRectangle(47,86,247,30)); jTextArea1.setBounds(newRectangle(24,130,305,109)); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jTextArea1); this.add(jButton1); } //点击按钮事件 publicvoidactionPerformed(ActionEvente) { //猎取输入的职员号 StringEmployeeID=jTextField1.getText(); //清空文本区原有的内容 jTextArea1.setText(""); try{ //利用st对象执行SQL语句,返回结果集对象 ResultSetrs=st.executeQuery("select*fromSalarywhere职员号='"+EmployeeID+"'"); //处理结果集 if(rs.next()) { jTextArea1.setText("职员号:"+rs.getString("职员号")+"\n"+"职职员资:"+rs.getString("职职员资")+"\n"); } else { JOptionPane.showMessageDialog(this,"该职员号的职员没有工资记录!"); } } catch(Exceptionex){ //利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,"工资查询失败!"); } }}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(); } catch(Exceptionexception){ exception.printStackTrace(); } } //面板初始化方法 privatevoidjbInit()throwsException { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(newjava.awt.Font("楷体",Font.BOLD,14)); jLabel1.setBounds(newRectangle(40,25,140,30)); jTextField1.setBounds(newRectangle(185,25,120,30)); jButton1.setBounds(newRectangle(110,65,120,30)); jLabel2.setFont(newjava.awt.Font("楷体",Font.BOLD,14)); jLabel2.setBounds(newRectangle(90,125,80,30)); jTextField2.setBounds(newRectangle(170,125,80,30)); jLabel3.setFont(newjava.awt.Font("楷体",Font.BOLD,14)); jLabel3.setBounds(newRectangle(90,160,80,30)); jTextField3.setBounds(newRectangle(170,160,80,30)); jButton2.setBounds(newRectangle(120,200,100,30)); //添加按钮动作事件 jButton1.addActionListener(this); jButton2.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jButton1); this.add(jLabel2); this.add(jTextField2); jTextField2.setEditable(false); this.add(jLabel3); this.add(jTextField3); this.add(jButton2); } //点击按钮事件 publicvoidactionPerformed(ActionEventactionevent) { //点击“查找该职员”按钮 if(actionevent.getSource()==jButton1) { //猎取输入的职员号 StringEmployeeID=jTextField1.getText(); try{ //利用st对象执行SQL语句,返回结果集对象 ResultSetrs=st.executeQuery("select*fromSalarywhere职员号='"+EmployeeID+"'"); //处理结果集 if(rs.next()) { jTextField2.setText(rs.getString("职员号")); jTextField3.setText(rs.getString("职职员资")); } else { JOptionPane.showMessageDialog(this,"没有那个职员号的职员!"); } } catch(Exceptionex){ //利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,"工资修改失败!"); } } //点击“修改工资”按钮 if(actionevent.getSource()==jButton2) { //猎取用户更改的工资 try{ //利用st对象执行SQL语句,进行修改操作 st.executeUpdate("updateSalaryset职职员资='"+jTextField3.getText()+"'where职员号='"+jTextField2.getText()+"'"); //利用消息对话框提示工资修改成功 JOptionPane.showMessageDialog(this,"工资修改成功!"); } catch(Exceptionex){ //利用消息对话框提示异常的信息 JOptionPane.showMessageDialog(this,"工资修改失败!"); 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(); } catch(Exceptionexception){ exception.printStackTrace(); } } //界面初始化方法 privatevoidjbInit()throwsException { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setBounds(newRectangle(21,17,64,24)); jLabel2.setBounds(newRectangle(21,51,53,22)); jLabel3.setBounds(newRectangle(21,86,61,27)); jLabel4.setBounds(newRectangle(21,122,59,25)); jLabel5.setBounds(newRectangle(21,168,54,24)); jLabel6.setBounds(newRectangle(21,205,54,24)); jTextField1.setBounds(newRectangle(102,10,200,30)); jTextField2.setBounds(newRectangle(102,49,200,30)); jTextField3.setBounds(newRectangle(102,117,80,33)); jTextField4.setBounds(newRectangle(102,163,200,29)); jTextField5.setBounds(newRectangle(102,200,200,29)); jRadioButton1.setBounds(newRectangle(102,83,65,30)); jRadioButton2.setBounds(newRectangle(190,85,85,30)); jButton1.setBounds(newRectangle(130,240,150,32)); //设置单选按钮被选中 jRadioButton1.setSelected(true); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jLabel2); this.add(jTextField2); this.add(jLabel3); buttonGroup1.add(jRadioButton1); buttonGroup1.add(jRadioButton2); this.add(jRadioButton1); this.add(jRadioButton2); this.add(jLabel4); this.add(jTextField3); this.add(jLabel5); this.add(jTextField4); this.add(jLabel6); this.add(jTextField5); this.add(jButton1); } //点击按钮事件 publicvoidactionPerformed(ActionEvente) { //猎取用户输入的信息 StringEmployeeID=jTextField1.getText(); StringEmployeeName=jTextField2.getText(); StringEmployeeSex=""; if(jRadioButton1.isSelected()) EmployeeSex+="男"; if(jRadioButton2.isSelected()) EmployeeSex+="女"; StringEmployeeAge=jTextField3.getText(); StringEmployeeAddress=jTextField4.getText(); StringEmployeePhone=jTextField5.getText(); try{ //设置日期格式 st.execute("setdateformatymd"); //利用st对象执行SQL语句,进行插入操作 st.executeUpdate("insertintoEmployeevalues('"+EmployeeID+"','"+EmployeeName+"','"+EmployeeSex+"','"+EmployeeAge+"','"+EmployeeAddress+"','"+EmployeePhone+"')"); //利用消息对话框提示职员添加成功 JOptionPane.showMessageDialog(this,"职员添加成功!"); //清空文本行的内容 jTextField1.setText(""); jTextField2.setText(""); jTextField3.setText(""); jTextField4.setText(""); jTextField5.setText(""); } catch(Exceptionex){ //利用消息对话框提示异常的信息 JOptionPane.showMessageDialog(this,"职员添加失败!"); 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(); } catch(Exceptionexception){ exception.printStackTrace(); } } //面板初始化方法 privatevoidjbInit()throwsException { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(newjava.awt.Font("楷体",Font.BOLD,14)); jLabel1.setBounds(newRectangle(40,15,140,30)); jTextField1.setBounds(newRectangle(185,15,120,30)); jButton1.setBounds(newRectangle(110,55,150,30)); jLabel2.setFont(newjava.awt.Font("楷体",Font.BOLD,14)); jLabel2.setBounds(newRectangle(20,105,80,30)); jTextField2.setBounds(newRectangle(100,105,80,30)); jLabel3.setFont(newjava.awt.Font("楷体",Font.BOLD,14)); jLabel3.setBounds(newRectangle(190,105,80,30)); jTextField3.setBounds(newRectangle(270,105,80,30)); jLabel4.setFont(newjava.awt.Font("楷体",Font.BOLD,14)); jLabel4.setBounds(newRectangle(20,145,80,30)); jTextField4.setBounds(newRectangle(100,145,80,30)); jLabel5.setFont(newjava.awt.Font("楷体",Font.BOLD,14)); jLabel5.setBounds(newRectangle(190,145,80,30)); jTextField5.setBounds(newRectangle(270,145,80,30)); jLabel6.setFont(newjava.awt.Font("楷体",Font.BOLD,14)); jLabel6.setBounds(newRectangle(20,185,80,30)); jTextField6.setBounds(newRectangle(100,185,80,30)); jLabel7.setFont(newjava.awt.Font("楷体",Font.BOLD,14)); jLabel7.setBounds(newRectangle(190,185,80,30)); jTextField7.setBounds(newRectangle(270,185,80,30)); jButton2.setBounds(newRectangle(120,240,150,30)); //添加按钮动作事件 jButton1.addActionListener(this); jButton2.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jButton1); this.add(jLabel2); this.add(jTextField2); jTextField2.setEditable(false); this.add(jLabel3); this.add(jTextField3); this.add(jLabel4); this.add(jTextField4); this.add(jLabel5); this.add(jTextField5); this.add(jLabel6); this.add(jTextField6); this.add(jLabel7); this.add(jTextField7); this.add(jButton2); } //点击按钮事件 publicvoidactionPerformed(ActionEventactionevent) { //点击“查找该职员”按钮 if(actionevent.getSource()==jButton1) { try{ //利用st对象执行SQL语句,返回结果集对象 ResultSetrs=st.executeQuery("select*fromEmployeewhere职员号='"+jTextField1.getText()+"'"); //处理结果集 if(rs.next()) { jTextField2.setText(rs.getString("职员号")); jTextField3.setText(rs.getString("职员姓名")); jTextField4.setText(rs.getString("职员性不")); jTextField5.setText(rs.getString("职员年龄")); jTextField6.setText(rs.getString("部门名称")); jTextField7.setText(rs.getString("职员职业")); } else { JOptionPane.showMessageDialog(this,"没有那个职员号的职员!"); } } catch(Exceptionex){ //利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,"职员信息修改失败!"); } } //点击“修改工资”按钮 if(actionevent.getSource()==jButton2) { //猎取用户更改的工资 try{ //利用st对象执行SQL语句,进行插入操作 st.executeUpdate("updateEmployeeset职员姓名='"+jTextField3.getText()+"'where职员号='"+jTextField2.getText()+"'"); st.executeUpdate("updateEmployeeset职员性不='"+jTextField4.getText()+"'where职员号='"+jTextField2.getText()+"'"); st.executeUpdate("updateEmployeeset职员年龄='"+jTextField5.getText()+"'where职员号='"+jTextField2.getText()+"'"); st.executeUpdate("updateEmployeeset部门名称='"+jTextField6.getText()+"'where职员号='"+jTextField2.getText()+"'"); st.executeUpdate("updateEmployeeset职员职业='"+jTextField7.getText()+"'where职员号='"+jTextField2.getText()+"'"); //利用消息对话框提示职员信息修改成功 JOptionPane.showMessageDialog(this,"职员信息修改成功!"); } catch(Exceptionex){ //利用消息对话框提示异常的信息 JOptionPane.showMessageDialog(this,"职员信息修改失败!"); 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(); } catch(Exceptionexception){ exception.printStackTrace(); } } //界面初始化方法 privatevoidjbInit()throwsException { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(newjava.awt.Font("黑体",Font.BOLD,14)); jLabel1.setBounds(newRectangle(70,20,200,30)); jTextField1.setBounds(newRectangle(70,80,207,41)); jButton1.setBounds(newRectangle(70,175,205,36)); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jButton1); } //点击按钮事件 publicvoidactionPerformed(ActionEvente) { //猎取用户输入的职员号 StringEmployeeID=jTextField1.getText(); //要求用户确认删除 if(JOptionPane.showConfirmDialog(this,"确认要删除吗?")==JOptionPane.YES_OPTION) { try{ //利用st对象执行SQL删除操作 st.executeUpdate("deletefromEmployeewhere职员号='"+EmployeeID+"'"); //利用消息对话框提示删除操作成功 JOptionPane.showMessageDialog(this,"职员删除操作,执行成功!"); //清空输入学号的文本行 jTextField1.setText(""); } catch(Exceptionex){ //利用消息对话框提示不能删除 JOptionPane.showMessageDialog(this,"职员删除操作,执行失败!"); } }}}4.50关心互动代码://“关心”面板类EmployeeHelp//导入系统的类包importjava.awt.*;importjava.sql.*;importjavax.swing.*;importjava.awt.event.*;//创建“关心”面板类publicclassEmployeeHelpextendsJPanel{ //创建组件对象:标签 JLabeljLabel1=newJLabel("若有问题请联系:"); JLabeljLabel4=newJLabel("敬翰林"); JLabeljLabel2=newJLabel("QQ:81652794"); JLabeljLabel3=newJLabel("邮箱:81652794@"); //构造方法 publicEmployeeHelp() { try{ //调用

温馨提示

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

评论

0/150

提交评论