您好,欢迎来到小侦探旅游网。
搜索
您的当前位置:首页基于Java的学生管理系统设计实验报告

基于Java的学生管理系统设计实验报告

来源:小侦探旅游网


河北工业大学

《Java程序设计》课程设计报告

-----学生信息管理系统的设计与实现

班 级:软件Z102班 * ***** 学 号:****** 指导教师:***

目 录

1 前言 .................................................................................................... 1 2 系统功能 ............................................................................................ 1 2.1 运行环境 .................................................................................... 1 2.2 操作说明 .................................................................................... 1 3 系统流程图 ........................................................................................ 2 4 程序调试及参数设置 ........................................................................ 3 4.1 系统首页 ...................................................................................... 3 4.2 登录界面 ...................................................................................... 3 4.3 用户界面 ...................................................................................... 5 4.4 管理员界面 .................................................................................. 5 4.5 信息界面 ...................................................................................... 6 4.6 添加信息界面 .............................................................................. 6 5 程序 .................................................................................................... 7 6 结论 .................................................................................................... 9 7 参考文献 ............................................................................................ 9

1

1 前言

随着计算机的发展及网络技术的应用,当今社会正快速向信息化前进,信息自动化的作用也越来越大。学生信息管理对于学校的管理者来说至关重要,并且是高等学校非常重要的一项数据资源,是一个教育单位不可缺少一部分。随着高校对招生规模的不断扩大,学生数量的急剧增加,面对庞大数据量,单纯的依赖人工的管理方式已不能适应各学校的管理需求,而作为计算机应用的一部分,使用计算机对学生信息进行管理有着手工管理无法比拟的优点,传统的手工管理既不易于规范化,管理效率也不高同时浪费大量的人力和物力,而学生管理系统在很大程度上能够弥补手工管理的不足,例如:学生管理系统能够达到检索迅速、查找简便、可靠性强、存储量大、保密性好等这些优点能够极大地提高工作效率,也是学校科学性、正规化管理的重要条件。

2 系统功能

2.1 运行环境

硬件环境:java是跨平台的,对操作系统没有要求,它由两个部分组成:一个是Java Virtual

Machine即Java虚拟机,另一部分是Java Application Programming Interface (Java API) 即Java应用程序设计接口,这两部份软件就构成了Java运行的基本的环境。

软件环境:该系统是一个小型的学生信息管理系统,其应用的开发环境为JCreatorLE,使用

Java开发语言,并使用SQL Server2005作为后台数据库,并采用JDBC连接数据库的方法连接数据库。

2.2 操作说明

该学生管理系统分为管理员模块和用户模块:

(1) 登录时如使用“用户”身份即学生登录时如输入的用户名及密码在后台数据库中存在即可成功登录,否则提示错误拒绝登录;如成功登录后即可进入用户界面,该用户可以查看个人信息和各门成绩信息。

(2) 如以“管理员”身份登录则可进入管理员界面:管理员可以查看所有学生信息、课程信息、学生成绩,查询、修改、删除某些学生信息、课程信息、学生成绩信息,同时还可以对相关信息进行排序。

1

3 系统流程图

1. 登录界面:

点击“开始”菜单选择“登录”的下拉框即可进入登录界面:如果输入的用户名及密码在数据

库中存在则可成功登录否则拒绝登录。

2. 点击“退出”即可退出应用程序,关闭窗口。 3. 管理员界面:

管理员可以对学生信息、课程信息及学生成绩信息进行查看、查询,并且选中一学生信息后可

进行修改、删除,此外还可以对学生信息、课程信息、成绩信息进行添加。 4. 用户界面:

一般用户(学生)身份成功登录后,即可进入用户界面,查看个人信息及各门成绩信息。

流程图如下:

开始 退出 登录 登录身份判定 F 用户是否存在 T 提示错误拒绝登录 登录权限 管理员 管理员界面 学生 用户界面 查看个人信息及成绩添加信息 修改信息 删除信息 查询信息 2 结束 4 程序调试及参数设置

4.1 系统首页

4.2 登录界面

点击“开始”菜单选择“登录”的下拉菜单即可进入“登录界面”:

在登录按钮中写入以下代码:

if(\"登录\".equals(actionCommand))//如果是“登录”按钮触发的事件 { strName=t1.getText();

strPwd=t2.getText();//获取两文本框的内容

3

if(strName.equals(\"曹立红\")&&strPwd.equals(\"104431\"))//管理员身份登录 { level=0;//标记用户登录权限level=0为管理员权限level=1为一般用户权限 layout.show(c,\"card4\");//第四张卡片出现进入\"管理员界面\" } else//否则进入\"一般用户界面\" { level=1; String sql=\"select * from 学生表 where name='\"+strName+\"' and pwd='\"+strPwd+\"'\";//在\"学生表\"中查找该学生 ResultSet rs=queryMind(sql);//执行SQL语句 try{ if(rs.next())//如果rs.next()=true则该学生存在 { str+=strName+\"同学的个人信息:\"+\"\\n\\n\";

str+=\"学号为:\"+rs.getString(\"id\")+\"\\n\"+\"姓名为:\"+rs.getString(\"name\")+\"\\n\"; str+=\"性别为:\"+rs.getString(\"sex\")+\"\\n\"+\"所在班级为:\"+rs.getString(\"class\")+\"\\n\";//分别获取该学生在\"学生表\"中的相关信息 strId=rs.getString(\"id\");//该学生学号 String sql1=\"select * from 成绩表 where id='\"+strId+\"'\";//在成绩表中以该学生的学号为条件查找该学生的成绩 ResultSet rs1=queryMind(sql1);//调用queryMind(0方法执行SQL语句返回结果集赋给rs1 if(rs1.next())//如果结果集不为空则该同学成绩存在 { str+=\"\\n\\n本学期成绩为:\\n\\n\"; rs1=queryMind(sql1);//rs1.next()方法会使指针移动到此 ResultSet 对象的下一行故需重新获取数据集 while(rs1.next()) { String id=rs1.getString(\"cId\");//获取成绩表中的\"课程号\" String sql2=\"select * from 课程表 where cId='\"+id+\"'\";//以获取到的“课程号”在“课程表”中查找该课程信息 ResultSet rs2=queryMind(sql2); if(rs2.next()) { String cName=rs2.getString(\"cName\");//获取该课程的课程名 cName=cName.trim(); str+=cName+\"的成绩为:\"+rs1.getInt(\"Score\")+\"\\n\"; } } } ta1.setText(str); layout.show(c,\"card3\"); }

4

else { JOptionPane.showMessageDialog((Component)null,\"您输入的用户不存在!\提示框\TION_MESSAGE); } } catch(SQLException e1) { System.out.println(e1); } }

4.3 用户界面

如以一般用户身份登录,即输入的用户名在后台数据库的学生表中存在 (如输入用户名:赵月月,密码:104430),则可成功登录到用户界面,查看用户的个人信息及各门成绩信息:

4.4 管理员界面

如以管理员身份登录 (即用户名:曹立红,密码:104431) 则可进入管理员界面:

5

4.5 信息界面

管理员可以查看学生信息、课程信息、成绩信息,点击“查看信息”菜单中的下拉菜单项即可进入对应的信息界面:

在此界面中可以对相关信息进行查询、修改并可删除信息,此外还可以对整个信息进行排序。

4.6 添加信息界面

管理员还可对学生信息、课程信息、学生成绩信息进行添加,点击“添加信息”菜单的下拉菜单项即可进入相应的添加信息界面:

6

5 程序

1. 修改学生信息的程序:

public void actionPerformed(ActionEvent e) {

String actionCommand=e.getActionCommand();//获取与产生动作相关的命令字符串 Container c=getContentPane();//获取当前窗格

if(e.getSource() instanceof JButton)//判断是否为按钮触发了事件 {

if(\"修改学生信息\".equals(actionCommand)) {

int iNum=jtable1.getSelectedRow();//获取table中当前的选中项的索引 if(iNum==-1)//如果索引值为-1即表示未选中table中的任何项 { JOptionPane.showMessageDialog((Component)null,\"请先选择需要修改的学生信息!\提示框\TION_MESSAGE); } else{ bxg4.setVisible(true); btn4.setVisible(false); String id=(String)jtable1.getValueAt(iNum,0);//获取table中当前选中项的第一列值即“学号” id=id.trim(); String name=(String)jtable1.getValueAt(iNum,1);//获取“姓名”列的值 name=name.trim(); String sex=(String)jtable1.getValueAt(iNum,2);//获取“性别”列的值 sex=sex.trim(); if(sex.equals(\"女\"))//如果“性别”为女 {

7

}

rbn2.setSelected(true);//则设置rbn2按钮选中 } if(sex.equals(\"男\")) { rbn1.setSelected(true); }

String bj=(String)jtable1.getValueAt(iNum,3);//获取“班级”列的值 bj=bj.trim(); tId.setText(id);

tId.setEnabled(false); tName.setText(name);

cb.setSelectedItem(bj);//将获取到的值分别加到card5中的相关控件中显示 layout.show(c,\"card5\"); }

2. 删除学生信息:

if(\"删除学生信息\".equals(actionCommand))

{ int iNum=jtable1.getSelectedRow();//获取table的当前选中项的索引 if(iNum==-1) //如果索引值为-1即表示未选中table中的任何项 { JOptionPane.showMessageDialog((Component)null,\"请先选择要删除的学生!\提示框\TION_MESSAGE); } else{ String id=(String)jtable1.getValueAt(iNum,0); //获取table中当前选中项的第一列值即“学号” id=id.trim(); String sql=\"delete from 学生表 where id='\"+id+\"'\";//从用户表中删除该用户信息 String sql2=\"delete from 成绩表 where id='\"+id+\"'\";//如果课程表中存在该用户的成绩则一并删除 try{ con=DriverManager.getConnection(dbURL, userName, userPwd); //连接数据库 st=con.createStatement();//建立Statement对象 st.executeUpdate(sql2); //执行SQL语句 con.close(); con=DriverManager.getConnection(dbURL, userName, userPwd); st=con.createStatement();//建立Statement对象 st.executeUpdate(sql); JOptionPane.showMessageDialog((Component)null,\"删除成功!\提示框\TION_MESSAGE);

String sql1=\"select * from 学生表\"; queryTable1(sql1);//重新显示学生表中的信息 }

8

catch(SQLException e4){ System.out.println(e4); } } }

6 结论

经过一周的设计,该小型的学生管理系统已具备基本功能,包括:对学生信息、课程信息及学生成绩信息的查询以及相关信息的修改、删除功能,此外还可以对学生信息、课程信息、学生成绩信息进行添加等功能。但该系统还存在许多的不足之处,例如:该系统不能实现多条件查询以及多表间的联合查询,此外系统的部分界面还不甚友好、完善,布局也不太整齐灵活,仍需进一步完善。

7 参考文献

1 赵国玲,王宏,柴大鹏. Java语言程序设计(第二版).机械工业出版社 2 张永常. Java程序设计实用教程(第2版).电子工业出版社

9

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务