10届 第2学年 1学期 Java语言程序设计小组课程设计
报告书
小组名称: 致知小组
小组题目: 小型工资管理系统 专 业: 信息管理与信息系统 班 级: 6班 姓 名: 组长: 钱海燕
(组员:) 史丞玉
胡晓康 付爽 刘文婷
指导教师: * * * 完成日期: 2012年1月4日
小型工资管理系统
1、问题描述
设计一个小型工资管理系统,为公司员工提供一套完整的信息,以便于公司对员工的管理。
2、开发环境搭建
Java开发环境的搭建包括三个部分: (1)JDK下载、安装及配置
下载:在Oracle官网下载的jdk-7u2版本。
安装:解压下载的JDK后,进入安装状态,下载好的JDK是一个可执行安装程序,执行安装即可。安装完成在安装目录下会有jdk1.7.0和jre1.7.0两个文件夹。
设置环境变量:
打开“我的电脑 -> 属性 -> 高级 -> 环境变量 -> 系统变量”,设置以下三个变量:
JAVA_HOME= 打开“windows”的“命令提示符”窗口,在提示符下输入javac,如果出现编译器的选项,说明编译器正常。输入java,如果出现解释器的选项,说明解释器正常。这样就可以使用JDK编译和运行JAVA程序了。 (2)eclipse下载、安装 下载:在相应的官网上下载即可。 安装:直接解压,在eclipse目录里面找到eclipse.exe (3)SQL Server 2000 4 in 1的下载、安装及配置 下载:在微软官网上下载即可。 安装:解压后选择个人版进行安装,选择windows用户混合验证模式。再安装补丁包,最后添加ODBC数据源。 3、系统功能 (1)进行系统的需求分析: 随着科学技术的发展和整个社会的进步,计算机技术也得到了很大的提高,特别是微型计算机的大范围普及,是计算机的应用逐渐有科学计算、实时控制等方面向非数值处理的各个领域渗透并发挥着越来越重要的作用。尤其是以微型计算机为处理核心,以数据库管理系统为开发环境的管理系统在办公室自动化以及商业信息管理等方面的应用,日益受到人们的关注。 对一个企业而言,人力资源是企业最宝贵的资源,也势必企业的“生命线”。而工资管理是企业管理的一个重要环节,其管理方式和工具对企业的决策者和管理者来说至关重要。但一直以来大多企业内部人事和工资的管理基本上都是传统的手工操作,这种人管理的方式效率低,保密性差,而且很难满足及时记录、随时查询的需要,为信息的管理者带来诸多不便。 利用计算机进行信息控制和数据处理,不仅从整体上大大提高了工作效率和安全性,而且具有存储量大,寿命长,成本低等优点,这些更是手工管理所无法比拟的。用计算机支持完成人事管理的日常事务,能够使人事管理自动化和科学化,提高了信息处理得速度和准确性;工资管理更是一项琐碎、复杂而又十分细致的工作,如果实行手工操作,会浪费工作人员很多时间和精力,且失误在所难免,而使用计算机进行工资计算和发放,不仅能够保证工资核算准确无误,而且能对相关信息进行统计,使工资与考勤、奖惩等事项合理挂钩,是企业内部管理体制更加科学有效。总之,为了很好的实现数据的录入、插入、查询、统计、更新等功能,已达到使企业人事工资信息管理科学化、系统化、规范化和自动化的目的,建立人事工资管理的需求。 系统的设计目标 1.设计出一套简单、方便的小型工资管理系统,方便公司对员工的管理。 2.在设计该人事管理系统的过程中,深化对JAVA的学习,以便掌握JAVA中的各种知识。 系统的可行性分析 技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户提出的要求。此外,还要考虑开发人员的水平,经过学习,在编程方面有一定的基础。 经济的可行性分析分为两个方面,一方面是支出的费用,另一方面是取得的收益。这是一个小型的工资管理系统,从投入的人力、财 力与物力来讲是非常小的,只要有电脑就可以了。从节省人力方面,可以让管理人员从繁冗复杂的工作中解脱出来,做更多的工作,可以给工资管理提高一个层次。 (2)系统的总体设计 建立系统的功能模型(各个模块的调用关系) 系统登录 系统设置 系统退出 添加职工 小型 工资管理系统 职工管理 修改职工 删除职工 添加工资 工资管理 修改工资 工资查询 按工号查询 职工查询 按姓名查询 帮助 图1 小型工资管理系统结构图 建立系统的概念模型(E-R图:总体和局部) 图2 总系统E-R图 职工信息 工资信息 小型工资管理系统 年龄 部门 联系电话 姓名 员工 家庭住址 性别 工号 籍贯 图3 职工信息E-R图 建立系统的数据模型(以文件的形式处理) 1 管理员 登录密码 2 添加信息 添加的工资信息 J1 职工工资信息单 登录系统 管理员 添加的职工个人信息 管理员 J2 职工个人信息单 3 查询信息 管理员 4 删除信息 管理员 5 修改信息 管理员 6 帮助 管理员 3.1 输入查询匹配的信息单 4.1 输入需删除的信息 管理员 5.1 输入修改的信息 管理员 合并后的信息单 条件 J8 互动信息单 计算机 J3 3.1.1 匹配信息 计算机 修改后的职工信息单 4.1.1 信息匹配并删除 修改后的职工信息单 J4 修改后的工资信息单 修改后的工资信息单 7 合并信息单 计算机 删除后的职工信息单 计算机 删除后的信息单 J6 删除后的职工信息单 J5 匹配信息单 J7 修改后的工资信息单 删除后的职工信息单 图4 小型工资管理系统数据模型图 (3)系统的详细设计 该小型工资管理系统共分为13个小模块,分别为:系统登录程序、主函数、界面框架、数据库的链接、职工信息添加、职工信息修改、职工信息删除、工资信息添加、工资信息修改、工资信息查询、按工号查询职工、按姓名查找职工以及帮助。 关于各个模块的功能的说明,使用说明: 主函数:程序的入口,运行程序应该在主函数上进行。 界面框架:该项目的整体框架,包含各种界面、按钮。与以下各个模块相连接,单机按钮,可以进入到不同的子模块。以便于使用者进行操作。 数据库的链接:保存已经输入的职工信息与工资信息,需要时可以从数据库直接调用并进行运用。 系统登录程序:输入用户名与密码,登陆人事管理系统。 职工信息添加:进入该程序后,需要输入职工的信息,包括职工的姓名、工号、性别、年龄、家庭住址与联系电话。选择保存键可以保存该职工的信息。 职工信息修改:进入该程序后,输入要修改的职工的工号,选择查找键进行查找,包括职工的姓名、性别、年龄、家庭住址与联系电话。选择修改键可以保存修改后职工的信息。 职工信息删除:进入该程序后,输入要删除的职工的工号,找出要删除的职工,选择删除键完全删除该职工的所有信息。 工资信息添加:进入该程序后,输入职工的工号,然后输入其工 资,添加工资。 工资信息修改:进入该程序后,输入职工的工号,选择查找键进行查找,修改相应的工资信息,选择修改键可以保存修改后工资的信息。 工资信息查询:进入该程序后,输入要查询的职工的工号,选择工资查询,即可显示出该职工的工资。 按工号查询职工:进入该程序后,输入要查询的职工的工号,然后选择查找,即可显示该职工信息。 按姓名查找职工:进入该程序后,输入要查找的职工的姓名,然后选择查找,即可显示该职工信息。 帮助:该程序主要为使用者在使用该系统时遇到的问题进行解答。 主函数 整体框架 界面设计 数据库连系统登录 登陆退出系小型工资管理系统 系统退出 职工添加 职工系统 职工修改 职工删除 工资添加 工资系统 工资修改 工资查询 按工号查询 查询系统 按姓名查询 帮助系统 图5 小型工资管理系统详细设计 给出程序要达到的具体的要求。明确规定: 该小型工资管理系统属于一个小型系统,受编程者水平及人数的限制,因此只能设计一个比较简单的系统。不过,我们将尽自己最大的努力,不断完善该系统,使之成为一个简洁大方、完整而极具应用性的小系统。具体要求如下: (1)界面漂亮大方,简洁易懂,操作性强; (2)每个模块分工明确,内容简明扼要,提示性强。 (3)代码准确无误,不含任何语法及逻辑错误,注释标注明确,使人一目了然。 (4)系统具有很高的实用性,可真正投入实际使用。 (5)程序将由小组每位成员分工合作完成,在自己的努力与相互帮助下,深化对JAVA的学习。 4、任务模块分配表: 成员 钱海燕 付爽 胡晓康 史丞玉 刘文婷 负责的功能模块说明 界面设计与数据库的连接 系统主函数、登录、退出与帮助 职工信息的添加、修改、删除 工资信息的添加、修改、查询 员工信息的查询(按工号查询与按姓名查询) 5、测试数据 登陆系统:输入用户名admin,密码1234,成功进入主界面;若用户 名或密码错误,则跳出对话框,显示登录失败,无法进入主界面。 数据库登陆:输入用户名sa,密码1234,成功进入数据库;若用户 名或密码错误,则抛出异常。 职工信息添加:输入职工的信息,包括职工的姓名、工号、性别、年 龄、家庭住址与联系电话。选择保存键可以保存该职工的信息。 职工信息修改:输入要修改的职工的工号,选择查找键进行查找,包 括职工的姓名、性别、年龄、家庭住址与联系电话。选择修改键可以保存修改后职工的信息。如果成功,则跳出对话框,显示修改成功;若无法找到该职工工号,跳出对话框,显示修改失败。 职工信息删除:输入要删除的职工的工号,找出要删除的职工,选择 删除键完全删除该职工的所有信息。如果成功,则跳出对话框,显示删除成功;若无法找到该职工工号,跳出对话框,显示删除失败。 工资信息添加:输入职工的工号,然后输入其工资,添加工资。如果 成功,则跳出对话框,显示添加成功;若无法找到该职工工号,跳出对话框,显示添加失败。 工资信息修改:输入职工的工号,选择查找键进行查找,修改相应的 工资信息,选择修改键可以保存修改后工资的信息。如果成功,则跳出对话框,显示修改成功;若无法找到该职工工号,跳出对话框,显示修改失败。 工资信息查询:输入要查询的职工的工号,选择工资查询,即可显示 出该职工的工资。如果成功,则跳出对话框,显示查询成功;若无法找到该职工工号,跳出对话框,显示查询失败。 按工号查询职工:输入要查询的职工的工号,然后选择查找,即可显 示该职工信息;若无法找到该职工工号,跳出对话框, 显示查询失败。 按姓名查找职工:输入要查找的职工的姓名,然后选择查找,即可显 示该职工信息。若无法找到该职工姓名,跳出对话框,显示查询失败。 6、程序模块调用关系图 登录 登陆系统成功! 小型工资管理系统 密码或用户名错误! 系统 职工管理 工资管理 职工查询 帮助 退出 添加职工 修改职工 删除职工 添加工资 修改职工 工资查询 按工号查询 按姓名查询 互动 图6程序模块调用关系图 7、源程序 登陆系统源代码 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class LogOn { public static void main(String[] args){ final JFrame jfrmlogin=new JFrame(\"系统登录\");//框标 题是 系统登录 jfrmlogin.setSize(400,280);//设置框的大小 Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); jfrmlogin.setLocation((int) (screenSize.width-400)/2,(int)(screenSize.height-300)/2);//设置框出现的位置 //构建面板 p1、p2、p3 //p1->用户名+文本框 JPanel p1=new JPanel(); p1.add(new JLabel(\"用户名:\")); final JTextField jtxtuser=new JTextField(14); //p2->密码+文本框 JPanel p2=new JPanel(); p2.add(new JLabel(\"密码:\")); final JPasswordField jspwd=new JPasswordField(14); //p3->登陆+退出 两按钮 JPanel p3=new JPanel(); JButton jbtok=new JButton(\"登录\"); JButton jbtexit=new JButton(\"退出\"); //将组件加入到面板中 p1.add(jtxtuser); p2.add(jspwd); p3.add(jbtok); p3.add(jbtexit); //,登陆键的监听器设置 jbtok.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ String a,b; a=jtxtuser.getText(); //密码框置为不可见的字符 b=jspwd.getText(); if((a.equals(\"admin\")==true)&&(b.equals(\"1234\")==true)) { //如果成功则调用系统程序 隐藏当前 登陆框 JOptionPane.showMessageDialog(null,\" 你已成功登陆系统!\系统提示 \ MainFrame mf=new MainFrame(); mf.setVisible(true); } else{ JOptionPane.showMessageDialog(null,\"用户jfrmlogin.dispose(); 名或密码不一致,请重新输入!\系统提示\ }); jbtexit.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){ JOptionPane.showMessageDialog(null,\"您已成功 } } //不正确则将用户框和密码框都置空 jtxtuser.setText(\"\"); jspwd.setText(\"\"); 退出系统!\系统提示\ }); //采用网格布局 } System.exit(0); jfrmlogin.getContentPane().setLayout(new GridLayout(3,1)); } } jfrmlogin.getContentPane().add(p1); jfrmlogin.getContentPane().add(p2); jfrmlogin.getContentPane().add(p3); jfrmlogin.setVisible(true); 主函数源代码 //系统的主程序类Main //导入包 import java.awt.*; import javax.swing.*; //创建主系统类 class Main { public static void main (String[] args) { //创建主界面,调用MainFrame()构造函数和方法 MainFrame frame=new MainFrame(); //获取屏幕尺寸 Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); frame.setLocation((screenSize.width-frameSize.width)/2,(screenSize. //获取主界面的窗体尺寸 Dimension frameSize =frame.getSize(); //令主界面窗体居中 if(frameSize.height>screenSize.height) frameSize.height=screenSize.height; if(frameSize.width>screenSize.width) frameSize.width=screenSize.width; height-frameSize.height)/2); //令主界面显示 frame.setVisible(true); } } 主界面源代码 //系统主框架类 //导入系统的包 import java.awt.*; import java.awt.event.*; import java.awt.geom.Rectangle2D; import javax.swing.*; //创建主框架类MainFrame public ActionListener { //创建内容面板 JPanel contentPane; //创建菜单栏组件的对象 JMenuBar jMenuBar1=new JMenuBar();//菜单条 JMenu jMenu0=new JMenu(\"系统\");//菜单 JMenuItem jMenuItem0=new JMenuItem(\"退出\");//子菜单 JMenu jMenu1=new JMenu(\"职工管理\"); JMenuItem jMenuItem1=new JMenuItem(\"添加职工\"); class MainFrame extends JFrame implements JMenuItem jMenuItem2=new JMenuItem(\"修改职工\"); JMenuItem jMenuItem3=new JMenuItem(\"删除职工\"); JMenu jMenu2=new JMenu(\"工资管理\"); JMenuItem jMenuItem4=new JMenuItem(\"添加工资\"); JMenuItem jMenuItem5=new JMenuItem(\"修改工资\"); JMenuItem jMenuItem8=new JMenuItem(\"工资查询\"); JMenu jMenu3=new JMenu(\"职工查询\"); JMenuItem jMenuItem6=new JMenuItem(\"按工号查询\"); JMenuItem jMenuItem7=new JMenuItem(\"按姓名查询\"); JMenu jMenu4=new JMenu(\"帮助\"); JMenuItem jMenuItem9=new JMenuItem(\"互动\"); //创建标签,用于显示信息 JLabel jLabel1=new JLabel(\" 小型工资管理系统\"); JLabel jLabel2=new JLabel(\" 2011-Java课程设计\"); //创建构造方法 public MainFrame() { try{ //关闭框架窗口时的默认事件方法 setDefaultCloseOperation(EXIT_ON_CLOSE); //调用初始化方法 jbInit(); } } catch(Exception exception){ } exception.printStackTrace(); //界面初始化方法 private void jbInit() throws Exception { //创建内容面板 contentPane =(JPanel) getContentPane(); //设置内容面板的布局为空 contentPane.setLayout(null); //主框架的大小 Dimension screenSize=Toolkit.getDefaultToolkit().getScreenSize(); setLocation((int) (screenSize.width-400)/2,(int)(screenSize.height-300)/2); setSize(new Dimension(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); jMenuBar1.add(jMenu4); //添加菜单项到菜单 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); jMenu4.add(jMenuItem9); //添加标签到主框架内容面板 contentPane.add(jLabel1); contentPane.add(jLabel2); //设置标签组件的大小和字体 jLabel1.setFont(new java.awt.Font(\"黑体 \ jLabel1.setBounds(new Rectangle(65,70,275,55)); jLabel2.setFont(new java.awt.Font(\"黑体 \ } //菜单项事件对应的处理方法 public void actionPerformed(ActionEvent actionEvent) { //点击“系统”菜单下的“退出”菜单项 jLabel2.setBounds(new Rectangle(90,150,200,35)); if(actionEvent.getSource()==jMenuItem0) { JOptionPane.showMessageDialog(null,\"您已成功退 出系统!\系统提示\ } //点击“职工管理”菜单下的“添加职工”菜单项 if(actionEvent.getSource()==jMenuItem1) { } //点击“职工管理”菜单下的“修改职工”菜单项 if(actionEvent.getSource()==jMenuItem2) { //创建“修改职工”面板对象 //创建“添加职工”面板对象 AddEmployee AddEmp=new AddEmployee(); //移除主框架上原有的内容 this.remove(this.getContentPane()); //加载“添加职工”面板的对象到主框架 this.setContentPane(AddEmp); //令界面可见 this.setVisible(true); System.exit(0); ModifyEmployee ModifyEmp=new ModifyEmployee(); } //点击“职工管理”菜单下的“删除职工”菜单项 if(actionEvent.getSource()==jMenuItem3) { } //点击“工资管理”菜单下的“添加工资”菜单项 if(actionEvent.getSource()==jMenuItem4) { //创建工资添加的面板对象 AddSalary AddSal=new AddSalary(); //创建“删除职工”面板对象 DeleteEmployee DeleteEmp=new DeleteEmployee(); this.remove(this.getContentPane()); //加载“删除职工”面板的对象到主框架 this.setContentPane(DeleteEmp); this.setVisible(true); this.remove(this.getContentPane()); //加载“修改职工”面板的对象到主框架 this.setContentPane(ModifyEmp); this.setVisible(true); } this.remove(this.getContentPane()); //加载工资添加面板的对象到主框架 this.setContentPane(AddSal); this.setVisible(true); //点击“工资管理”菜单下的“修改工资”菜单项 if(actionEvent.getSource()==jMenuItem5) { } //点击“工资管理”菜单下的“工资查询”菜单项 if(actionEvent.getSource()==jMenuItem8) { //创建工资修改的面板对象 SalaryInquire SalaryInq=new SalaryInquire(); this.remove(this.getContentPane()); //加载工资修改面板的对象到主框架 //创建工资修改的面板对象 ModifySalary ModifySal=new ModifySalary(); this.remove(this.getContentPane()); //加载工资修改面板的对象到主框架 this.setContentPane(ModifySal); this.setVisible(true); } this.setContentPane(SalaryInq); this.setVisible(true); //点击“职工查询”菜单下的“按工号查询”菜单项 if(actionEvent.getSource()==jMenuItem6) { } //点击“职工查询”菜单下的“按姓名查询”菜单项 if(actionEvent.getSource()==jMenuItem7) { //创建“按姓名查询”面板对象 InquireOnName OnName=new InquireOnName(); //移除主框架上原有的内容 this.remove(this.getContentPane()); this.setContentPane(OnName); this.setVisible(true); //创建“按工号查询”面板对象 InquireOnGH OnGH=new InquireOnGH(); //移除主框架上原有的内容 this.remove(this.getContentPane()); this.setContentPane(OnGH); this.setVisible(true); } } } //点击“帮助”菜单下的“互动”菜单项 if(actionEvent.getSource()==jMenuItem9) { } //创建“帮助”面板对象 EmployeeHelp EmployeeH=new EmployeeHelp(); //移除主框架上原有的内容 this.remove(this.getContentPane()); this.setContentPane(EmployeeH); this.setVisible(true); 数据库源代码 //类DBConnect用于数据库的连接 //导入sql包 import java.sql.*; //创建数据库连接类DBConnect public class DBConnect { //静态方法提高数据库的连接效率 public static Connection getConn() throws Exception { //加载JDBC驱动 Class.forName(\"com.microsoft.jdbc.sqlserver.SQLServerDriv er\"); //以系统默认用户身份,连接数据库StudentManager return DriverManager.getConnection(\"jdbc:microsoft:sqlserver://127.0.0.1:1433;databaseNames=List\ //加载JDBC驱动 Class.forName(\"sun.jdbc.odbc.JdbcOdbcDriver\"); //以系统默认用户身份,连接数据库StudentManager return DriverManager.getConnection(\"jdbc:odbc:List\ } } 职工信息输入系统源代码 //添加职工面板类AddEmployee //导入系统的类包 import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; //创建“添加职工“面板类 public class AddEmployee extends JPanel implements ActionListener { //声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st; //创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(\"职工工号\"); JLabel jLabel2=new JLabel(\"职工姓名\"); JLabel jLabel3=new JLabel(\"职工性别\"); JLabel jLabel4=new JLabel(\"职工年龄\"); JLabel jLabel5=new JLabel(\"家庭住址\"); JLabel jLabel6=new JLabel(\"联系电话\"); JTextField jTextField1=new JTextField(); JTextField jTextField2=new JTextField(); JTextField jTextField3=new JTextField(); JTextField jTextField4=new JTextField(); JTextField jTextField5=new JTextField(); JRadioButton jRadioButton1=new JRadioButton(\"男\"); JRadioButton jRadioButton2=new JRadioButton(\"女\"); ButtonGroup buttonGroup1=new ButtonGroup(); JButton jButton1=new JButton(\"添加职工\"); //构造方法 public AddEmployee() { } //界面初始化方法 private void jbInit() throws Exception { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 try{ } catch(Exception exception){ } exception.printStackTrace(); //调用初始化方法 jbInit(); jLabel1.setBounds(new Rectangle(21,17,64,24)); jLabel2.setBounds(new Rectangle(21,51,53,22)); jLabel3.setBounds(new Rectangle(21,86,61,27)); jLabel4.setBounds(new Rectangle(21,122,59,25)); jLabel5.setBounds(new Rectangle(21,168,54,24)); jLabel6.setBounds(new Rectangle(21,205,54,24)); jTextField1.setBounds(new Rectangle(102,10,200,30)); jTextField2.setBounds(new Rectangle(102,49,200,30)); jTextField3.setBounds(new Rectangle(102,117,80,33)); jTextField4.setBounds(new Rectangle(102,163,200,29)); jTextField5.setBounds(new Rectangle(102,200,200,29)); jRadioButton1.setBounds(new Rectangle(102,83,65,30)); jRadioButton2.setBounds(new Rectangle(190,85,85,30)); jButton1.setBounds(new Rectangle(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); //点击按钮事件 public void actionPerformed(ActionEvent e) { //获取用户输入的信息 String EmployeeID=jTextField1.getText(); String EmployeeName=jTextField2.getText(); String EmployeeSex=\"\"; if(jRadioButton1.isSelected()) EmployeeSex+=\"男\"; if(jRadioButton2.isSelected()) EmployeeSex+=\"女\"; String EmployeeAge=jTextField3.getText(); String EmployeeAddress=jTextField4.getText(); String EmployeePhone=jTextField5.getText(); try{ //设置日期格式 st.execute(\"set dateformat ymd\"); //利用st对象执行SQL语句,进行插入操作 st.executeUpdate(\"insert into Employee values('\"+EmployeeID+\"','\"+EmployeeName+\"','\"+EmployeeSex+\"','\"+EmployeeAge+\"','\"+EmployeeAddress+\"','\"+EmployeePhone+\"')\"); 功!\"); //清空文本行的内容 jTextField1.setText(\"\"); jTextField2.setText(\"\"); jTextField3.setText(\"\"); jTextField4.setText(\"\"); jTextField5.setText(\"\"); //利用消息对话框提示职工添加成功 JOptionPane.showMessageDialog(this,\"职工添加成 } catch(Exception ex){ //利用消息对话框提示异常的信息 JOptionPane.showMessageDialog(this,\"职工添加失 败!\"); ex.printStackTrace(); } } } 职工信息修改系统源代码 //“职工信息修改”面板类ModifyEmployee //导入系统的类包 import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; //创建“职工信息修改资”类 public class ModifyEmployee extends JPanel ActionListener { //声明连接数据库对象 implements Connection con; //声明SQL语句对象 Statement st; //创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(\"请输入职工的编号:\"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"查找该职工\"); JLabel jLabel2=new JLabel(\"职工编号:\"); JTextField jTextField2=new JTextField(); JLabel jLabel3=new JLabel(\"职工姓名:\"); JTextField jTextField3=new JTextField(); JLabel jLabel4=new JLabel(\"职工性别:\"); JTextField jTextField4=new JTextField(); JLabel jLabel5=new JLabel(\"职工年龄:\"); JTextField jTextField5=new JTextField(); JLabel jLabel6=new JLabel(\"家庭住址:\"); JTextField jTextField6=new JTextField(); JLabel jLabel7=new JLabel(\"联系电话:\"); JTextField jTextField7=new JTextField(); JButton jButton2=new JButton(\"修改职工信息\"); //构造方法 public ModifyEmployee() { } //面板初始化方法 private void jbInit() throws Exception { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(new java.awt.Font(\"楷体try{ } catch(Exception exception){ } exception.printStackTrace(); //调用初始化方法 jbInit(); \ jLabel1.setBounds(new Rectangle(40,15,140,30)); jTextField1.setBounds(new Rectangle(185,15,120,30)); jButton1.setBounds(new Rectangle(110,55,150,30)); jLabel2.setFont(new java.awt.Font(\"楷体 \ jLabel2.setBounds(new Rectangle(20,105,80,30)); jTextField2.setBounds(new Rectangle(100,105,80,30)); jLabel3.setFont(new java.awt.Font(\"楷体 \ jLabel3.setBounds(new Rectangle(190,105,80,30)); jTextField3.setBounds(new Rectangle(270,105,80,30)); jLabel4.setFont(new java.awt.Font(\"楷体 \ jLabel4.setBounds(new Rectangle(20,145,80,30)); jTextField4.setBounds(new Rectangle(100,145,80,30)); jLabel5.setFont(new java.awt.Font(\"楷体 \ jLabel5.setBounds(new Rectangle(190,145,80,30)); jTextField5.setBounds(new Rectangle(270,145,80,30)); jLabel6.setFont(new java.awt.Font(\"楷体 \ jLabel6.setBounds(new Rectangle(20,185,80,30)); jTextField6.setBounds(new Rectangle(100,185,80,30)); jLabel7.setFont(new java.awt.Font(\"楷体 \ jLabel7.setBounds(new Rectangle(190,185,80,30)); jTextField7.setBounds(new Rectangle(270,185,80,30)); jButton2.setBounds(new Rectangle(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); //点击按钮事件 public void actionPerformed(ActionEvent actionevent) { //点击“查找该职工”按钮 if(actionevent.getSource()==jButton1) { try{ //利用st对象执行SQL语句,返回结果集对象 ResultSet rs=st.executeQuery(\"select * from Employee where EmployeeID='\"+jTextField1.getText()+\"'\"); //处理结果集 if(rs.next()) { jTextField2.setText(rs.getString(\"EmployeeId\")); jTextField3.setText(rs.getString(\"EmployeeName\")); jTextField4.setText(rs.getString(\"EmployeeSex\")); jTextField5.setText(rs.getString(\"EmployeeAge\")); jTextField6.setText(rs.getString(\"EmployeeAddress\")); jTextField7.setText(rs.getString(\"EmployeePhone\")); } else { JOptionPane.showMessageDialog(this,\"没有这 个工号的职工!\"); } catch(Exception ex){ //利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,\"职工信} 息修改失败!\"); } //点击“修改工资”按钮 if(actionevent.getSource()==jButton2) } { //获取用户更改的工资 try{ //利用st对象执行SQL语句,进行插入操作 st.executeUpdate(\"update Employee set EmployeeName='\"+jTextField3.getText()+\"' where EmployeeID='\"+jTextField2.getText()+\"'\"); st.executeUpdate(\"update Employee set EmployeeSex='\"+jTextField4.getText()+\"' where EmployeeID='\"+jTextField2.getText()+\"'\"); st.executeUpdate(\"update Employee set EmployeeAge='\"+jTextField5.getText()+\"' where EmployeeID='\"+jTextField2.getText()+\"'\"); st.executeUpdate(\"update Employee set EmployeeAddress='\"+jTextField6.getText()+\"' where EmployeeID='\"+jTextField2.getText()+\"'\"); st.executeUpdate(\"update Employee set EmployeePhone='\"+jTextField7.getText()+\"' where EmployeeID='\"+jTextField2.getText()+\"'\"); //利用消息对话框提示职工信息修改成功 JOptionPane.showMessageDialog(this,\"职工信息 修改成功!\"); } catch(Exception ex){ //利用消息对话框提示异常的信息 JOptionPane.showMessageDialog(this,\"职工信 息修改失败!\"); ex.printStackTrace(); } } } } 职工信息删除系统源代码 //”删除职工“面板类DeleteEmployee //导入系统的类包 import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; //创建“删除职工”类 public class DeleteEmployee extends ActionListener { //声明连接数据库对象 JPanel implements Connection con; //声明SQL语句对象 Statement st; //创建组件对象 JLabel jLabel1=new JLabel(\"请输入待删除的职工的编号\"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"删除\"); //构造方法 public DeleteEmployee() { } //界面初始化方法 private void jbInit() throws Exception { //连接数据库 try{ } catch(Exception exception){ } exception.printStackTrace(); //调用初始化方法 jbInit(); con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(new java.awt.Font(\"黑体 \ } //点击按钮事件 public void actionPerformed(ActionEvent e) { //获取用户输入的职工编号 String EmployeeID=jTextField1.getText(); jLabel1.setBounds(new Rectangle(70,20,200,30)); jTextField1.setBounds(new Rectangle(70,80,207,41)); jButton1.setBounds(new Rectangle(70,175,205,36)); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jButton1); //要求用户确认删除 if(JOptionPane.showConfirmDialog(this,\"确认要删除 吗?\")==JOptionPane.YES_OPTION) { try{ //利用st对象执行SQL删除操作 st.executeUpdate(\"delete from Employee where EmployeeID='\"+EmployeeID+\"'\"); //利用消息对话框提示删除操作成功 JOptionPane.showMessageDialog(this,\"职工删除 操作,执行成功!\"); //清空输入学号的文本行 jTextField1.setText(\"\"); } catch(Exception ex){ //利用消息对话框提示不能删除 JOptionPane.showMessageDialog(this,\"职工删除操 作,执行失败!\"); } } } } 职工工资输入系统源代码 //\"添加工资\"面板类AddSalary //导入系统的类包 import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; //创建“添加工资“类 public class AddSalary extends JPanel implements ActionListener { //声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st; //创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(\"职工工号\"); JLabel jLabel2=new JLabel(\"职工工资\"); JTextField jTextField1=new JTextField(); JTextField jTextField2=new JTextField(); JButton jButton1=new JButton(\"添加工资\"); //构造方法 public AddSalary() { } //界面初始化方法 private void jbInit() throws Exception { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setBounds(new Rectangle(21,17,64,24)); jLabel2.setBounds(new Rectangle(21,51,53,22)); try{ } catch(Exception exception){ } exception.printStackTrace(); //调用初始化方法 jbInit(); } jTextField1.setBounds(new Rectangle(102,10,200,30)); jTextField2.setBounds(new Rectangle(102,60,200,30)); jButton1.setBounds(new Rectangle(130,120,150,32)); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jLabel2); this.add(jTextField2); this.add(jButton1); //点击按钮事件 public void actionPerformed(ActionEvent e) { //获取用户输入的信息 String EmployeeID=jTextField1.getText(); String EmployeeSalary=jTextField2.getText(); try{ //利用st对象执行SQL语句,进行插入操作 st.executeUpdate(\"insert into Salary values('\"+EmployeeID+\"','\"+EmployeeSalary+\"')\"); 功!\"); 败!\"); } } //利用消息对话框提示工资添加成功 JOptionPane.showMessageDialog(this,\"工资添加成 } //清空文本行的内容 jTextField1.setText(\"\"); jTextField2.setText(\"\"); catch(Exception ex){ //利用消息对话框提示异常的信息 JOptionPane.showMessageDialog(this,\"工资添加失 } ex.printStackTrace(); 职工工资修改系统源代码 //“修改工资”面板类ModifySalary //导入系统的类包 import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; //创建“修改工资”面板类 public class ModifySalary extends JPanel implements ActionListener { //声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st; //创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(\"请输入职工的编号: JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"查找该职工\"); JLabel jLabel2=new JLabel(\"职工编号:\"); JTextField jTextField2=new JTextField(); JLabel jLabel3=new JLabel(\"职工工资:\"); JTextField jTextField3=new JTextField(); JButton jButton2=new JButton(\"修改工资\"); //构造方法 public ModifySalary() { try{ //调用初始化方法 \"); } } jbInit(); catch(Exception exception){ } exception.printStackTrace(); //面板初始化方法 private void jbInit() throws Exception { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(new java.awt.Font(\"楷体 \ jLabel1.setBounds(new Rectangle(40,25,140,30)); jTextField1.setBounds(new Rectangle(185,25,120,30)); jButton1.setBounds(new Rectangle(110,65,120,30)); jLabel2.setFont(new java.awt.Font(\"楷体 \ jLabel2.setBounds(new Rectangle(90,125,80,30)); jTextField2.setBounds(new Rectangle(170,125,80,30)); jLabel3.setFont(new java.awt.Font(\"楷体 \ } //点击按钮事件 jLabel3.setBounds(new Rectangle(90,160,80,30)); jTextField3.setBounds(new Rectangle(170,160,80,30)); jButton2.setBounds(new Rectangle(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); public void actionPerformed(ActionEvent actionevent) { //点击“查找该职工”按钮 if(actionevent.getSource()==jButton1) { //获取输入的职工的编号 String EmployeeID=jTextField1.getText(); try{ //利用st对象执行SQL语句,返回结果集对象 ResultSet rs=st.executeQuery(\"select * from Salary where EmployeeID='\"+EmployeeID+\"'\"); //处理结果集 if(rs.next()) { jTextField2.setText(rs.getString(\"EmployeeID\")); jTextField3.setText(rs.getString(\"EmployeeSalary\")); } else { JOptionPane.showMessageDialog(this,\"没有这 个工号的职工!\"); 改失败!\"); } //点击“修改工资”按钮 if(actionevent.getSource()==jButton2) { //获取用户更改的工资 try{ //利用st对象执行SQL语句,进行修改操作 st.executeUpdate(\"update Salary set where } } catch(Exception ex){ //利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,\"工资修} EmployeeSalary='\"+jTextField3.getText()+\"' EmployeeID='\"+jTextField2.getText()+\"'\"); 成功!\"); } //利用消息对话框提示工资修改成功 JOptionPane.showMessageDialog(this,\"工资修改 catch(Exception ex){ //利用消息对话框提示异常的信息 JOptionPane.showMessageDialog(this,\"工资修 改失败!\"); ex.printStackTrace(); } } } } 职工工资查询系统源代码 //\"工资查询\"面板类SalaryInquire //导入系统的类包 import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; //创建“工资查询”类 public class SalaryInquire extends ActionListener { //声明连接数据库对象 Connection con; JPanel implements //声明SQL语句对象 Statement st; //创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(\"请输入要查询的职工的编号: \"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"工资查询\"); JTextArea jTextArea1=new JTextArea(); //构造方法 public SalaryInquire() { } //面板初始化方法 private void jbInit() throws Exception { try{ } catch(Exception exception){ } exception.printStackTrace(); //调用初始化方法 jbInit(); //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(new java.awt.Font(\"黑体 \ } //点击按钮事件 public void actionPerformed(ActionEvent e) jLabel1.setBounds(new Rectangle(46,4,222,32)); jTextField1.setBounds(new Rectangle(47,37,247,31)); jButton1.setBounds(new Rectangle(47,86,247,30)); jTextArea1.setBounds(new Rectangle(24,130,305,109)); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jTextArea1); this.add(jButton1); { //获取输入的职工的编号 String EmployeeID=jTextField1.getText(); //清空文本区原有的内容 jTextArea1.setText(\"\"); try{ //利用st对象执行SQL语句,返回结果集对象 ResultSet rs=st.executeQuery(\"select * from Salary where EmployeeID='\"+EmployeeID+\"'\"); //处理结果集 if(rs.next()) { jTextArea1.setText(\"职工编 号:\"+rs.getString(\"EmployeeID\")+\"\\n\"+\"职工工资:\"+rs.getString(\"EmployeeSalary\")+\"\\n\"); } else { JOptionPane.showMessageDialog(this,\"该工号的 职工没有工资记录!\"); } } 败!\"); } } catch(Exception ex){ //利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,\"工资查询失 } 按编号查询职工系统源代码 //\"按职工的编号查询\"面板类InquireOnGH //导入系统的类包 import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; //创建“按职工的编号查询”类 public class InquireOnGH extends JPanel implements ActionListener { //声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st; //创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(\"请输入职工的编号:\"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"查找\"); JTextArea jTextArea1=new JTextArea(); //构造方法 public InquireOnGH() { } //面板初始化方法 private void jbInit() throws Exception { //连接数据库 con=DBConnect.getConn(); st=con.createStatement(); try{ } catch(Exception exception){ } exception.printStackTrace(); //调用初始化方法 jbInit(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(new java.awt.Font(\"黑体 \ } //点击按钮事件 public void actionPerformed(ActionEvent e) { //获取输入的职工的编号 String EmployeeID=jTextField1.getText(); jLabel1.setBounds(new Rectangle(46,4,222,32)); jTextField1.setBounds(new Rectangle(47,37,247,31)); jButton1.setBounds(new Rectangle(47,86,247,30)); jTextArea1.setBounds(new Rectangle(24,130,305,109)); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jTextArea1); this.add(jButton1); //清空文本区原有的内容 jTextArea1.setText(\"\"); try{ //利用st对象执行SQL语句,返回结果集对象 ResultSet rs=st.executeQuery(\"select * from Employee where employeeid ='\"+EmployeeID+\"'\"); //处理结果集 if(rs.next()) { jTextArea1.setText(\"职工编 号:\"+rs.getString(\"EmployeeID\")+\"\\n\"+\"职工姓名:\"+rs.getString(\"EmployeeName\")+\"\\n\"+\"职工性别:\"+rs.getString(\"EmployeeSex\")+\"\\n\"+\"职工年龄:\"+rs.getString(\"EmployeeAge\")+\"\\n\"+\"家庭住址:\"+rs.getString(\"EmployeeAddress\")+\"\\n\"+\"联系电话:\"+rs.getString(\"EmployeePhone\")+\"\\n\"); } else { JOptionPane.showMessageDialog(this,\"没有这个 工号的职工!\"); } 查询失败!\"); } } } catch(Exception ex){ //利用消息对话框提示查询失败 ex.printStackTrace(); JOptionPane.showMessageDialog(this,\"职工 } 按姓名查询职工系统源代码 //\"按职工的姓名查询\"面板类InquireOnName //导入系统的类包 import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; //创建“按职工的姓名查询”类 public class InquireOnName extends JPanel implements ActionListener { //声明连接数据库对象 Connection con; //声明SQL语句对象 Statement st; //创建组件对象:标签、文本行、单选 JLabel jLabel1=new JLabel(\"请输入职工的姓名:\"); JTextField jTextField1=new JTextField(); JButton jButton1=new JButton(\"查找\"); JTextArea jTextArea1=new JTextArea(); //构造方法 public InquireOnName() { } //面板初始化方法 private void jbInit() throws Exception { //连接数据库 try{ } catch(Exception exception){ } exception.printStackTrace(); //调用初始化方法 jbInit(); con=DBConnect.getConn(); st=con.createStatement(); //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(new java.awt.Font(\" 黑 体 \ } //点击按钮事件 public void actionPerformed(ActionEvent e) { jLabel1.setBounds(new Rectangle(46,4,222,32)); jTextField1.setBounds(new Rectangle(47,37,247,31)); jButton1.setBounds(new Rectangle(47,86,247,30)); jTextArea1.setBounds(new Rectangle(24,130,305,109)); //添加按钮动作事件 jButton1.addActionListener(this); //添加组件到面板 this.add(jLabel1); this.add(jTextField1); this.add(jTextArea1); this.add(jButton1); //获取输入的职工的姓名 String EmployeeName=jTextField1.getText(); //清空文本区原有的内容 jTextArea1.setText(\"\"); try{ //利用st对象执行SQL语句,返回结果集对象 ResultSet rs=st.executeQuery(\"select * from Employee where EmployeeName='\"+EmployeeName+\"'\"); //处理结果集 if(rs.next()) { jTextArea1.setText(\"职工编 号:\"+rs.getString(\"EmployeeID\")+\"\\n\"+\"职工姓名:\"+rs.getString(\"EmployeeName\")+\"\\n\"+\"职工性别:\"+rs.getString(\"EmployeeSex\")+\"\\n\"+\"职工年龄:\"+rs.getString(\"EmployeeAge\")+\"\\n\"+\"家庭住址:\"+rs.getString(\"EmployeeAddress\")+\"\\n\"+\"联系电话:\"+rs.getString(\"EmployeePhone\")+\"\\n\"); } else { JOptionPane.showMessageDialog(this,\"没有这个 工号的职工!\"); 败!\"); } } } } } catch(Exception ex){ //利用消息对话框提示查询失败 JOptionPane.showMessageDialog(this,\"职工查询失 帮助系统源代码 //“帮助”面板类EmployeeHelp //导入系统的类包 import java.awt.*; import java.sql.*; import javax.swing.*; import java.awt.event.*; //创建“帮助”面板类 public class EmployeeHelp extends JPanel { //创建组件对象:标签 JLabel jLabel1=new JLabel(\"有问题,请您咨询:\"); JLabel jLabel4=new JLabel(\"任敏贤老师;\"); JLabel jLabel2=new JLabel(\"或百度一下;\"); JLabel jLabel3=new JLabel(\"或Google一下.\"); //构造方法 public EmployeeHelp() { } //初始化 private void jbInit() throws Exception { //框架的布局 this.setLayout(null); //设置各组件的大小 jLabel1.setFont(new java.awt.Font(\"楷体try{ } catch(Exception exception){ } exception.printStackTrace(); //调用初始化方法 jbInit(); \ jLabel1.setBounds(new Rectangle(50,50,300,30)); jLabel4.setFont(new java.awt.Font(\"楷体 \ jLabel4.setBounds(new Rectangle(50,90,150,30)); jLabel2.setFont(new java.awt.Font(\"楷体 \ jLabel2.setBounds(new Rectangle(50,140,300,30)); jLabel3.setFont(new java.awt.Font(\"楷体 \ } } jLabel3.setBounds(new Rectangle(50,180,300,30)); //添加组件到面板 this.add(jLabel1); this.add(jLabel2); this.add(jLabel3); this.add(jLabel4); 8、运行与测试 执行登陆程序,输入用户名(admin)与密码(1234),单击登陆,运行界面如上图所示。 若用户名或密码错误,出现如上的界面。 成功登陆后,单击确定,进入主界面,如上图所示。 选择“菜单栏”中的“职工管理”,并选择“添加职工”,录入职工的工号、姓名、性别、年龄。家庭住址和联系电话。如上图所示。选择添加职工,则显示如下界面。 选择“菜单栏”中的“职工管理”,并选择“修改职工”,然后输入职工的编号,首先查找该职工,然后对职工信息进行修改,完成后选择“修改职工信息”,如上图所示。 登陆数据库,登录名(sa),密码(1234)。 打开数据库,如上图所示。 在界面输入“select * from Employee”,执行后列出之前输入的职工数据,如上图所示。 选择“菜单栏”中的“职工管理”,并选择“删除职工”,然后输入待删除的职工编号,选择“删除”,在跳出的界面框选择“是”,如下图所示。 界面显示已经成功执行删除操作。 数据库中显示“张四”信息已经删除。 选择“菜单栏”中的“工资管理”,并选择“添加工资”,输入职工工号,并输入职工工资,选择添加工资,若成功,则如下图所示。 选择“菜单栏”中的“工资管理”,并选择“修改工资”,输入职工的编号,选择“查询该职工”,然后修改职工工资,完成后选择“修改工资”。若成功,则如下图所示。 选择“菜单栏”中的“工资管理”,并选择“查询工资”,输入职工的编号,选择“工资查询”,若成功,则显示如上图所示。 选择“菜单栏”中的“职工查询”,并选择“按工号查询”,输入 职工的编号,选择“查找”,若成功,则如下图所示。 选择“菜单栏”中的“职工查询”,并选择“按姓名查询”,输入职工的姓名,选择“查找”,若成功,则如下图所示。 选择“菜单栏”中的“帮助”,显示如上界面。 在数据库中输入“select * from Salary”,显示出所录入职工的工资情况。 选择“菜单栏”中的“系统”,选择“退出”,则退出该系统。界面如上图所示。 9、总结 (1)对课程中所学习的内容,在课程设计中的应用体悟; 经过这次期末课程设计的驱动,上课许多听不懂的概念,即使是听懂了点也是模棱两可的,一头雾水。理论课上没劲,上机课上能动性低。但是经过这个期末课程设计的驱动,老师什么也没给,自己小组自立内容,设计在答辩前4-5个周就在老师的督促下进行,我们组的课程设计在此一步一步的进展着,有些时候我们会因为eclipse检测出的代码错误而找不到问题之所在而生气,有时候我们会因为小组内部人员之间的模块不匹配而争吵......,但我们组的都在继续进行着我们的课程设计。最后在我们测试我们的程序并没有错误时,我们都感到无比的兴奋,以前上课听不太明白的部分在这次设计中都理解的很好。另外,完成这项设计后更加增强了学习JAVA的热情。 (2)进行了哪些功能扩展,重点说明独创或创新的部分; ①采用了数据库的设计—SQL Server 2000 ②采用了对话框提示界面。 ③数据库建表采用的两张表相关联的关系(Employee、Salary) (3)在哪些方面需要进一步了解或得到帮助。 在数据库设计那模块,由于我们还没有学到数据库的知识,所以对数据库的好多概念及实践操作都不会,但是在数据库中会很容易的 操作数据—很容易的将数据进行增加、查询、删除、修改等操作。因此我们组下定决心要使用数据库,由于是零起点,为了实现这一想法,我们上网找有关数据库的视频看,弄清基本的概念。在数据库那块,估计耗了我们2个星期的时间,但是在最后我们在运行java时还是会抛出异常,于是带着疑问问老师,在老师的帮忙下,终于克服了数据库的瓶颈。 10、思考与感悟 这次项目设计课题,我们小组选定的是小型工资管理系统,由于本学期的课程学习时间和内容都有限,所以这个系统的功能结构算不上尽善尽美,我们的系统包括基本的登录、查询、增加信息、删除信息。运用JAVA编写程序,通过这个小程序可以实现员工个人信息的管理和工资信息的管理。在项目设计过程中遇到了很多未曾遇到过的问题,经过组员之间的协调摸索和指导老师的帮忙,不断解决遇到的问题,慢慢地完善程序的功能,实现程序与数据库的连接,完全实现了这个程序的原始设计功能。使我们对JAVA程序设计这门课程的了解更近了一步。这次课程项目设计使我们小组的第二次项目设计,有过上学期的项目设计经验,本学期组员之间的协调配合更加紧密,通过不同的功能代码书写的分工,最后代码合并连接数据库实现程序的功能,使我们进一步认识到了小组协调合作的重要性与必要性。 从项目设计一开始,小组成员之间商议课题系统选定的内容,最终确定系统功能模块,接着小组成员分工承担功能代码的书写,并在功能代码书写的过程中不断完善中期项目书。项目设计中遇到的 最棘手的问题就是数据库的连接问题,由于组员的电脑配置不尽相同,在数据库安装过程中遇到了很多问题,通过网上查询资料,询问老师解决了组长的数据库连接问题,最终使程序得以运行。项目设计使我们锻炼了自己的动手能力,使学到的知识得以运用,达到了学以致用的效果,并且使我们认识到了学习本门课程的方法和以后工作后的工作重心,现在认识到了作为一个程序员需要有不怕吃苦的精神,具有刻苦钻研的品质,遇到问题不气馁,并且能沉着冷静地面对程序设计过程中不断出现的种种问题,使我们认识到了作为一个程序员最应该具有的品质。特别是在程序调试过程中,更锻炼我们的发现问题,解决问题的能力。通过这次项目设计我们认识到了JAVA比上学期的C语言形象化了很多,可以自己动手做出不同具有图形页面的程序,使我们体会到了学习JAVA的乐趣。 因篇幅问题不能全部显示,请点此查看更多更全内容