• 领导讲话
  • 自我介绍
  • 党会党课
  • 文秘知识
  • 转正申请
  • 问题清单
  • 动员大会
  • 年终总结
  • 工作总结
  • 思想汇报
  • 实践报告
  • 工作汇报
  • 心得体会
  • 研讨交流
  • 述职报告
  • 工作方案
  • 政府报告
  • 调研报告
  • 自查报告
  • 实验报告
  • 计划规划
  • 申报材料
  • 当前位置: 勤学考试网 > 公文文档 > 政府报告 > 正文

    JAVA数据库学生成绩学习管理系统实验报告总结计划x

    时间:2020-11-25 13:02:16 来源:勤学考试网 本文已影响 勤学考试网手机站

    实训报告

    实训名称: 学生成绩管理系统

    系(部):

    专业班级 :

    学生姓名 :

    学 号:

    指导教师 :

    完成日期 :

    南京铁道职业技术学院

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    Java 访问并处理数据库的设计与实现

    实训概述

    南京铁道职业技术学院浦口校区 2013 级网络 L1301 班于大二上学期组织了

    为期一周的 Java实训,本次实训的课题是“学生成绩管理系统”。 通过综合实

    训,掌握运用 Java语言基本知识和技能、 JAVA 的基本语法与 JDBC 数据库技术的应用;进一步熟悉 Oracle 数据库的数据库管理(数据库的创建、应用)。

    表的创建、修改、删除,约束及关系等、 数据的查询处理 (insert、update、delete、

    select 语句等技术。

    2 Java 访问并处理数据库的课题描述

    2.1 课题简介

    经过分析 ,我们使用 Java 开发工具,利用其提供的各种面向对象的开发工具,

    Java?技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人

    PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有

    全球最大的开发者专业社群。使用的数据库是 Oracle, Oracle 数据库功能强大 ,

    学习起来也不难,然后,对初始原型系统进行需求迭代 ,不断修正和改进 ,直到形

    成用户满意的可行系统。

    通过实训,我们掌握运用 Java语言知识和技能,运用 JAVA 的基本语法与

    JDBC 数据库技术的应用, 完成对甲骨文数据库的数据库管理、 例如表的设计(表

    的创建、修改、删除,字段的默认值、 约束及关系等) 、数据的查询处理 (insert、

    update、delete、select 语句的应用)等技术;并能结合数据库应用技术和 jdbc 进

    行小型数据库管理系统的开发。

    2.2 模块简介

    管理员模块功能需求 :

    管理员身份登陆系统后,可以对学生信息进行添加、修改和查询等操作 ,对

    学生进行添加、修改和查询功能操作,还可以修改管理员的登录密码。

    学生模块功能需求 :

    学生信息管理系统中需要在学生登录或验证身份后 ,,可以自行完成学生个

    人信息的查询,也可以进行修改和删除个人信息、修改学生密码等操作。

    2.3 数据库结构设计

    数据表设计

    定义每个表的数据类型以及字段限制 ,使数据库达到一定的完整性 .每个表的

    物理设计如下:

    1.表 admin 保存用户的个人信息

    用户信息表主要是用来保存管理员用户的基本信息

    ,包括管理员的 ID 和管理

    员的登录密码 ,只有符合这两个字段的格式要求

    ,才能登录成功 ,结构表如下:

    表 4-2 管理员信息表

    字段名

    类型

    空值

    约束条件

    管理员 ID

    number(10)

    not null

    主键

    登录密码

    varchar2(10)

    not null

    2.表 student 保存学生基本信息 ,结构表如下:

    表 4-5 学生信息表

    字段名

    类型

    空值

    约束条件

    学号

    number(10)

    not null

    主键

    姓名

    varchar2(20)

    not null

    性别

    varchar2 (3)

    年龄

    number(2)

    登录密码

    varchar2(10)

    not null

    逻辑结构是独立于任何一种数据模型的信息结构。

     逻辑结构的任务是把概念结构设计阶段设计好的基本 E-R 图转化为宜选用的 DBMS 所支持的数据模型相符合的逻辑结构,并对其进行优化。

    流程图层次设计

    图的格式如下所示:

    开始

    进入登录页面

    选择权限

    (例如管理员)

    选择要实现的按钮 1.添加 2.查询 3.删除

    添加按钮

    

    添加一个学生信息,包括

    姓名,年龄,性别

    

    ID ,

    查找数据库中一个学生信息, 包

    查找按钮

    括 ID ,姓名,年龄,性别

    删除按钮

    

    删除一个学生信息,包括他的

    ID ,姓名,年龄,性别

    返回

    结束

    图 1 管理员对学生信息管理系统局部 E-R 图

    数据流图是结构化系统分析的主要工具,它表示了系统内部信息的流向 ,并

    表现系统的逻辑处理功能。

    2.4 系统功能层次图

    学生信息管理系统是一个典型的数据库开发应用程序, 系统是和数据库相结

    合 .,进入系统 ,有两个用户 ,分别是普通学生、和管理员。

    学生信息管理系统

    登陆管理

    

    图 2 学生信息管理系统功能层次图

    系统模块的详细设计

    本学生信息管理系统主要模块 ,即用户登录模块、用户操作模块。用户操作

    模块又分为学生操作模块、管理员操作模块。下面将显示系统的主要功能模块。

    3.1 登录模块设计

    学生信息管理系统前台登陆模块可以勾选管理员身份信息,代表以管理员身份进入。不勾选即为普通学生身份登录。

    3.2 管理员模块设计

    学生信息管理系统前台登陆模块只有一个登陆窗口分为学生、 管理员两个级

    别登陆 ,系统在后台程序有自动限制设置 ,可以自动识别登陆者的限制。其系统登

    陆模块算法如下:

    判断是否勾选管理员身份;

    输入用户名和密码;

    判断用户名和密码是否匹配;

    (1)若提示输入信息错误 ,则重新输入;

    (2)否则以管理员身份进入系统。

    添加学生信息功能

    学生信息管理系统对学生信息的管理非常重要 ,其中对信息的录入是系统最

    为关键的地方 ,以往我们管理学生信息的时候都是手工操作 ,而随社会不断发展的

    今天计算机的应用已全部取带了手工操作的方法 ,利用计算机可以方便的录入各

    类信息 ,进行高效的管理 .学生信息的录入就是利用计算机通过程序读入数据库 ,

    录入学生信息模块算法描述如下:

    1.管理员登陆后,录入学生信息管理界面;

    2.单击增加学生按钮,键入学生 ID;

    3.当录入学号已经存在 ,提示该学生信息已存在,请重新输入;

    4.否则学生信息添加成功。

    查找学生信息功能

    学生信息管理系统对查询学生信息管理也很重要 ,方法和增添学生信息类

    似,也同样是利用计算机通过程序读入数据库 ,查询学生信息模块算法描述如下:

    1.管理员登陆后,点击查询学生;

    2.当录入学生信息不存在时 ,提示没有该学生信息,重新输入;

    3.当录入学生 ID 已经存在 ,提示该学生信息存在,显示学生信息;

    删除学生信息功能

    学生选课模块主要是给删除学生信息的功能 ,本功能主要由管理员进入数据

    库 ,然后学生管理系统 ,其删除学生信息模块算法描述如下:1.管理员成功登陆;

    2.点击删除学生;

    3.输入学生相关信息,如学生 ID;

    4. 如该学生不存在,则提示信息不存在,否则删除该学生。修改学生信息功能

    此信息修改模块主要是给学生和管理员建立信息库 ,方便管理员查询操作 ,信

    息修改模块算法描述如下:

    1.管理员成功登陆;

    2.点击修改学生信息;

    3.输入学生的编号;

    4.编号为空 ,重新输入;

    5.输入不为数字 ,重新输入;

    6.输入正确 ,进入修改页面进行相关修改。

    3.3 学生模块设计

    查看学生个人信息功能

    学生信息管理系统方便了学生查看自己的学籍信息 ,如果学校由于疏忽输入

    了错误信息 ,自己可以查看并且及时通知学校管理员 ,及时修改 ,减少不必要的麻

    烦 .

    此信息查询模块主要是方便学生查询操作 ,信息查询模块算法描述如下:

    学生成功登陆;

    2.点击查询学生信息;

    3.输入学生的编号;

    4.编号为空 ,重新输入;

    5.输入不为数字 ,重新输入;

    6.输入正确 ,进入信息查询页面进行相关修改。

    修改学生登录密码功能

    学生可以进入学生管理系统进行登录密码的修改

    学生成功登陆;

    2.单击修改密码;

    3.输入旧密码、新密码确认后,若旧密码正确则修改成功,则提示重新输

    入旧密码;

    4.提交修改完成修改。

    程序运行与测试

    import java.awt.*;

    import

    import javax.swing.*;

    //登录窗口

    public class LoginFrame extends JFrame{

    private JCheckBox c;

    private JButton loginBtn,resetBtn;

    private JTextField nameInput;

    private JPasswordField pwdInput;

    private AdminDao adminDao=new AdminDao(); private StudentDao studentDao=new StudentDao(); public LoginFrame(){

    //初始化窗口本身

    Dimension d=Toolkit.getDefaultToolkit().getScreenSize();

    int width=d.width;

    int height=d.height;

    //设置坐标为 400-400 宽为 300 高为 200

    setBounds(width/2-200, height/2-100, 400, 200);

    setTitle("登录界面 ");

    //设置窗口为不可缩放

    setResizable(false);

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    init();

    event(); }

    private void event() {

    //为按钮添加事件处理

    resetBtn.addMouseListener(new MouseAdapter() {

    //监听鼠标单击事件

    @Override

    public void mouseClicked(MouseEvent e) {

    System.exit(0); } });

    loginBtn.addMouseListener(new MouseAdapter() {

    @Override

    public void mouseClicked(MouseEvent e) {

    //获取用户输入的值

    String username=nameInput.getText().trim();

    String password=pwdInput.getText().trim();

    //判断是否勾选了管理员多选框

    if(c.isSelected()){

    //从管理员表中检测数据

    Admin a=adminDao.findAdminByName(username);

    //如果 a 不为 null 说明用户输入的管理员是存在的

    if(a==null){

    //说明此管理员不存在

    JOptionPane.showMessageDialog(null, 用"户名或密码不

    正确 ", " 提示信息 ", JOptionPane.WARNING_MESSAGE);

    }else{

    //管理员存在 //密码正确 //密码不正确

    if(a.getPassword().equals(password)){

    //后台保存的密码和用户从客户端输入的密码是一

    样的 JOptionPane.showMessageDialog(null, 登"录成功 ", " 提示信息 ",

    JOptionPane.WARNING_MESSAGE);

    //关闭当前的登录窗口

    //开启管理员界面

    new AdminFrame(a.getUsername()).go();

    }else{

    JOptionPane.showMessageDialog(null, 用"户名或密

    码不正确 ", " 提示信息 ", JOptionPane.WARNING_MESSAGE);

    }

    

    }

    }else{

    //从普通用户表中检测数据

    Student s=studentDao.findStudentByStudentId(username);

    if(s==null){

    JOptionPane.showMessageDialog(null, 用"户名或密码不

    正确 ", " 提示信息 ", JOptionPane.WARNING_MESSAGE);

    }else{

    if(s.getPassword().equals(password)){

    JOptionPane.showMessageDialog(null, 登"录成功 ", "

    提示信息 ", JOptionPane.WARNING_MESSAGE);

    new StudentFrame(s,null).go();

    }else{

    JOptionPane.showMessageDialog(null, 用"户名或密

    码不正确 ", " 提示信息 ", JOptionPane.WARNING_MESSAGE);

    } } } } });}

    public void init(){

    //初始化窗口内部的组件

    Container container=getContentPane();

    //组件放到哪个位置由用户自己来制定

    container.setLayout(null);

    JLabel title=new JLabel("用 户 登 录 ");

    title.setFont(new Font("楷体 ",0,32));

    title.setBounds(110,5,200,33);

    container.add(title);

    JLabel nameLabel=new JLabel("用户名 :");

    nameLabel.setBounds(70, 55, 60, 30);

    container.add(nameLabel);

    nameInput=new JTextField();

    nameInput.setBounds(130,60,150,20);

    //设置提示内容

    nameInput.setToolTipText("此处写登录用户名 ");

    container.add(nameInput);

    JLabel pwdLabel=new JLabel("密 码 :");

    pwdLabel.setBounds(70, 80, 60, 30);

    container.add(pwdLabel);

    pwdInput=new JPasswordField();

    pwdInput.setBounds(130,85,150,20);

    pwdInput.setToolTipText(" 此处写密码 ");

    container.add(pwdInput);

    c=new JCheckBox("管理员 ");

    c.setBounds(68, 115, 70, 30);

    container.add(c);

    loginBtn=new JButton(" 登录 ");

    loginBtn.setBounds(140, 115, 60, 30);

    container.add(loginBtn);

    resetBtn=new JButton("取消 ");

    resetBtn.setBounds(215, 115, 60, 30);

    container.add(resetBtn);}

    public void go(){

    setVisible(true); }

    public static void main(String[] args) {

    new LoginFrame().go(); }}

    package c

    //和管理员相关的数据库操作

    public class AdminDao {

    //根据用户名查找指定管理员

    public Admin findAdminByName(String username){

    Admin admin=null;

    Connection conn=null;

    PreparedStatement pstat=null;

    ResultSet rs=null;

    try {

    conn=ConnectionFactory.getConnection();

    String sql="select username,password from admin where username=?";

    pstat=conn.prepareStatement(sql);

    pstat.setString(1, username);

    rs=pstat.executeQuery();

    //如果查不到任何数据 下方 while 内部的代码不会执行

    while(rs.next()){

    //如果能执行到这个地方 说明指定管理员是存在的

    admin=new Admin();

    admin.setUsername(username);

    admin.setPassword(rs.getString("password")); }

    } catch (Exception e) {

    TODO: handle exception e.printStackTrace();

    }finally{

    ConnectionFactory.close(rs, pstat, conn); }

    return admin; }

    public static void main(String[] args) {

    AdminDao().findAdminByName("admi").getPassword()); }} import javax.swing.JOptionPane; //添加学生

    public class AddStudentFrame extends JFrame{

    private AdminFrame admin;

    private JPanel p1,p2,p3,p4,p5;

    private JLabel idLbl,nameLbl,ageLbl,genderLbl;

    private JTextField idInput,nameInput,ageInput,genderInput;

    private JButton submitBtn,cancelBtn;

    private StudentDao studentDao=new StudentDao();

    public AddStudentFrame(AdminFrame admin){

    this.admin=admin;

    setTitle("添加学生 ");

    setResizable(false);

    setBounds(400, 100, 300, 400);

    init();

    event();}

    private void init(){

    Container container=getContentPane();

    container.setLayout(new GridLayout(5, 1));

    p1=new JPanel();

    p1.setLayout(null);

    idLbl=new JLabel(" 学籍号 :");

    idLbl.setBounds(50, 30, 50, 20);

    idInput=new JTextField();

    idInput.setBounds(100, 30, 120, 20);

    p1.add(idLbl);

    p1.add(idInput);

    container.add(p1);

    p2=new JPanel();

    p2.setLayout(null);

    nameLbl=new JLabel("姓名 :");

    nameLbl.setBounds(50, 10, 50, 20);

    nameInput=new JTextField();

    nameInput.setBounds(100, 10, 120, 20);

    p2.add(nameLbl);

    p2.add(nameInput);

    container.add(p2);

    p3=new JPanel();

    p3.setLayout(null);

    ageLbl=new JLabel("年龄 :");

    ageLbl.setBounds(50, 10, 50, 20);

    ageInput=new JTextField();

    ageInput.setBounds(100, 10, 120, 20);

    p3.add(ageLbl);

    p3.add(ageInput);

    container.add(p3);

    p4=new JPanel();

    p4.setLayout(null);

    genderLbl=new JLabel("性别 :");

    genderLbl.setBounds(50, 10, 50, 20);

    genderInput=new JTextField();

    genderInput.setBounds(100, 10, 120, 20);

    p4.add(genderLbl);

    p4.add(genderInput);

    container.add(p4);

    p5=new JPanel();

    p5.setLayout(null);

    submitBtn=new JButton("确定 ");

    submitBtn.setBounds(130, 10, 60, 20);

    cancelBtn=new JButton("取消 ");

    cancelBtn.setBounds(195, 10, 60, 20);

    p5.add(submitBtn);

    p5.add(cancelBtn);

    container.add(p5);}

    private void event(){

    //设置当前窗口的关闭操作

    //此处可自定义窗口关闭时所作操作

    this.addWindowListener(new WindowAdapter() {

    public void windowClosing(WindowEvent e) {

    //将之前传递过来的那个管理窗口设置为可用

    if(admin!=null){

    admin.setEnabled(true); }

    //释放当前窗口

    //取消按钮的操作

    cancelBtn.addMouseListener(new MouseAdapter() { @Override

    public void mouseClicked(MouseEvent e) {

    if(admin!=null){

    admin.setEnabled(true); }

    //确定按钮的操作

    submitBtn.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) {

    //接受用户在客户端输入的值

    //正则表达式

    String studentId=idInput.getText().trim();

    String studentName=nameInput.getText().trim();

    String age=ageInput.getText().trim();

    String gender=genderInput.getText().trim();

    Student s=new Student();

    //注意别输入了已存在的学籍号

    s.setStudentid(Long.parseLong(studentId));

    s.setStudentName(studentName);

    s.setPassword(studentId);

    s.setAge(Integer.parseInt(age));

    s.setGender(gender);

    //将获得值封装成 Student对象调用指定方法存储到数据库

    boolean result=studentDao.addStudent(s);

    if(result){

    JOptionPane.showMessageDialog(null, 添"加成功! ");

    if(admin!=null){

    admin.setEnabled(true); }

    }else{

    JOptionPane.showMessageDialog(null, 添"加失败 ,请检查学籍

    号是否已存在! ");

    

    }

    

    }

    

    });}

    public void go(){

    setVisible(true);

    }

    public static void main(String[] args) {

    new AddStudentFrame(null).go();

    }

    }

    public class FindStudentFrame extends JFrame{ private StudentDao studentDao=new StudentDao(); private JLabel idLbl,nameLbl;

    private JTextField idInput,nameInput;

    private JButton findBtn,cancelBtn;

    public FindStudentFrame(){

    setTitle("查找学生 ");

    setBounds(405, 100, 200, 390);

    setResizable(false);

    init();

    event(); }

    private void init(){

    Container container=getContentPane();

    container.setLayout(new GridLayout(3, 1));

    JPanel p1=new JPanel();

    p1.setLayout(null);

    idLbl=new JLabel(" 学籍号 :");

    idLbl.setBounds(20, 55, 50, 20);

    idInput=new JTextField();

    idInput.setBounds(73, 55, 100, 20);

    p1.add(idLbl);

    p1.add(idInput);

    container.add(p1);

    JPanel p2=new JPanel();

    p2.setLayout(null);

    nameLbl=new JLabel("姓名 :");

    nameLbl.setBounds(20, 55, 50, 20);

    nameInput=new JTextField();

    nameInput.setBounds(73, 55, 100, 20);

    p2.add(nameLbl);

    p2.add(nameInput);

    container.add(p2);

    JPanel p3=new JPanel();

    p3.setLayout(null);

    findBtn=new JButton(" 搜索 ");

    findBtn.setBounds(60,30,60,20);

    cancelBtn=new JButton("取消 ");

    cancelBtn.setBounds(123,30,60,20);

    p3.add(findBtn);

    p3.add(cancelBtn);

    container.add(p3); }

    private void event(){

    this.addWindowListener(new WindowAdapter() {

    public void windowClosing(WindowEvent e) {

    findBtn.addMouseListener(new MouseAdapter() {

    public void mouseClicked(MouseEvent e) {

    String idStr=idInput.getText().trim();

    String nameStr=nameInput.getText().trim();

    Long studentId=null;

    String studentName=null;

    if(idStr.length()!=0){ // 如果 id 有值

    studentId=Long.parseLong(idStr); }

    if(nameStr.length()!=0){

    studentName=nameStr; }

    List<Student>

    students=studentDao.findStudentByConditions(studentId, studentName);

    //将查询的结果传递给显示界面

    new ShowResultFrame(students).go()

    

    }

    

    });

    

    }

    public void go(){

    setVisible(true); }

    public static void main(String[] args) {

    new FindStudentFrame().go();

    public class ShowResultFrame extends JFrame {

    private List<Student> students;

    private StudentDao studentDao=new StudentDao();

    public ShowResultFrame(List<Student> students) {

    setTitle("查询结果 ");

    if (students.size() > 0) {

    setBounds(100, 100, 300, 60 * students.size());

    } else {

    setBounds(100, 100, 300, 150); this.students = students; init();}

    

    }

    private void init() {

    Container container = getContentPane();

    container.setLayout(new GridLayout(students.size(), 2));

    遍历集合 将集合中的每一条数据显示到当前容器里面

    if (students.size() == 0) {

    container.add(new JLabel("暂无记录! "));

    } else {

    for (Student stu : students) {

    JLabel l = new JLabel(stu.getStudentName());

    final Student s = stu;

    l.addMouseListener(new MouseAdapter() {

    public void mouseClicked(MouseEvent e) {

    if(e.getClickCount()>=2){

    new StudentFrame(s, null).go(); } }}); l.setBorder(BorderFactory.createLineBorder(new Color(253, 253,187)));

    JButton b = new JButton("删除 ");

    final Long studentId = stu.getStudentid();

    b.addMouseListener(new MouseAdapter() {

    public void mouseClicked(MouseEvent e) {

    int choose=JOptionPane.showConfirmDialog(null, "确定删除 ?");

    //判断用户点击的是否是确定按钮

    if(choose==JOptionPane.OK_OPTION){

    students.remove(s);

    new ShowResultFrame(students).go();

    studentDao.deleteStudentById(studentId);

    }}});

    container.add(l);container.add(b); } } }

    private void event() {

    this.addWindowListener(new WindowAdapter() {

    public void windowClosing(WindowEvent e) {

    public void go() { setVisible(true); }

    public static void main(String[] args) {

    }}

    public class StudentFrame extends JFrame{

    private JPanel p1,p2,p3,p4,p5,p6;

    private JLabel idLbl,pwdLbl,nameLbl,ageLbl,genderLbl; private JTextField idInput,nameInput,ageInput,genderInput; private JPasswordField pwdInput; private Student student;

    private JButton modifyPwdBtn,submitBtn,exitBtn;

    private String nPassword;

    private StudentDao dao=new StudentDao();

    //student记录当前登录的用户 nPassword记录修改以后的密码 public StudentFrame(Student s,String nPassword){

    this.student=s;

    this.nPassword=nPassword;

    //初始化的时候获取当前用户的密码

    setTitle("学生信息 ");

    setResizable(false);

    setBounds(400, 100, 300, 400);

    //默认关闭行为

    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    init();

    event(); }

    public void go(){

    setVisible(true);}

    private void init(){

    Container container=getContentPane();

    container.setLayout(new GridLayout(6, 1));

    p1=new JPanel();

    p1.setLayout(null);

    idLbl=new JLabel(" 学籍号 :");

    idLbl.setBounds(50, 30, 50, 20);

    idInput=new JTextField();

    //需要将数字类型转换为字符串类型 +""

    //字符串类型 ---》数字类型 parseInt parseLong

    idInput.setText(student.getStudentid()+"");

    //设置学籍号不可修改

    idInput.setEnabled(false);

    idInput.setEditable(false);

    idInput.setDisabledTextColor(new Color(255, 255, 255)); idInput.setDisabledTextColor(Color.black); idInput.setBounds(100, 30, 120, 20);

    p1.add(idLbl);

    p1.add(idInput); container.add(p1);

    p2=new JPanel();

    p2.setLayout(null);

    pwdLbl=new JLabel(" 密 码:");

    pwdLbl.setBounds(50, 30, 50, 20);

    pwdInput=new JPasswordField();

    if(nPassword==null){

    //代表从登录界面过来的

    pwdInput.setText(student.getPassword());

    }else{

    //如果有新密码 说明是从修改密码那个窗口跳回来的

    pwdInput.setText(nPassword);}

    pwdInput.setEditable(false);

    pwdInput.setDisabledTextColor(Color.black);

    pwdInput.setBounds(100, 30, 120, 20);

    modifyPwdBtn=new JButton(" 修改 ");

    modifyPwdBtn.setBounds(225, 30, 60, 20);

    p2.add(pwdLbl);

    p2.add(pwdInput);

    p2.add(modifyPwdBtn);

    container.add(p2);

    p3=new JPanel();

    p3.setLayout(null);

    nameLbl=new JLabel("姓 名:");

    nameLbl.setBounds(50, 30, 50, 20);

    nameInput=new JTextField();

    nameInput.setText(student.getStudentName());

    nameInput.setBounds(100, 30, 120, 20);

    p3.add(nameLbl);

    p3.add(nameInput);

    container.add(p3);

    p4=new JPanel();

    p4.setLayout(null);

    ageLbl=new JLabel("年 龄:");

    ageLbl.setBounds(50, 30, 50, 20);

    ageInput=new JTextField();

    ageInput.setText(student.getAge()+"");

    ageInput.setBounds(100, 30, 120, 20);

    p4.add(ageLbl);

    p4.add(ageInput);

    container.add(p4);

    p5=new JPanel();

    p5.setLayout(null);

    genderLbl=new JLabel("性 别:");

    genderLbl.setBounds(50, 30, 50, 20);

    genderInput=new JTextField();

    genderInput.setText(student.getGender());

    genderInput.setBounds(100, 30, 120, 20);

    p5.add(genderLbl);

    p5.add(genderInput);

    container.add(p5);

    p6=new JPanel();

    p6.setLayout(null);

    submitBtn=new JButton("确认 ");

    submitBtn.setBounds(150, 30, 60, 20);

    exitBtn=new JButton(" 取消 ");

    exitBtn.setBounds(215, 30, 60, 20);

    p6.add(submitBtn);

    p6.add(exitBtn);

    container.add(p6); }

    private void event(){

    modifyPwdBtn.addMouseListener(new MouseAdapter() {

    public void mouseClicked(MouseEvent e) {

    //设置之前的窗口无效

    //弹出修改密码窗口

    new ModifyPwdFrame(StudentFrame.this).go();

    }});

    exitBtn.addMouseListener(new MouseAdapter() {

    //关闭当前窗口 返回登录窗口

    });

    submitBtn.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) {

    String newPassword=pwdInput.getText().trim();

    String newName=nameInput.getText().trim();

    String newAgeStr=ageInput.getText().trim();

    String newGender=genderInput.getText().trim();

    //获取用户修改的信息

    Student newStudent=new Student();

    newStudent.setAge(Integer.parseInt(newAgeStr));

    newStudent.setPassword(newPassword);

    newStudent.setStudentName(newName);

    newStudent.setStudentid(student.getStudentid());

    newStudent.setGender(newGender);

    //newStudent 里面存储着修改以后的学生信息

    dao.updateStudentById(newStudent);

    if(student.getPassword().equals(newPassword)){

    new StudentFrame(newStudent,null).go();

    }else{

    //如果旧密码和新密码不相同 就重新登录 JOptionPane.showMessageDialog(null, 密"码已被更改 ,请重新登录! ");

    new LoginFrame().go();

    }}});}

    public Student getStudent(){

    return student; }

    public static void main(String[] args) {

    new StudentFrame().go();}}

    实训总结

    本系统是采用 Java技术开发的,由于在这个阶段中,基本是处于边学习边

    实践的状态,基础知识还不是很牢靠, 加之自身水平原因, 程序还是有许多不足

    之处。,比如界面模块做的不够好、实现的功能不够完整、界面需要更精确的美

    化。

    经过这一段时间的努力,收获了很多,在收获的同时也发现了很多的不足 ,

    回首论文的写作过程,得到了许多人的帮助, 尤其是我的实训老师, 在我论文的

    完成过程中给予了我许多的帮助和鼓励。在系统开发的两个月里 ,我受到了指导

    老师的细心指导,甄磊老师老师严谨的指导态度与深厚的理论知识都让我受益非

    浅,让我学到了很多的东西,无论是理论还是实践都使我的知识有很大的提高。

    通过本次实训,我掌握了 Java 编程技能 ,对 Oracle 数据库有了较深的理解。比较

    全面的巩固了编程思想 .也通过本次实训,使我懂得在在编程工作中,程序员的

    工作态度以及良好的习惯的重要性

    • 考试时间
    • 范文大全
    • 作文大全
    • 课程
    • 试题
    • 招聘
    • 文档大全

    推荐访问