Java 学生成绩信息管理系统20160621(最全)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、准备工作说明:
1、Java编译工具为MyEclipse 6.0;系统连接数据库为SQL Server 2014,使用jdbc连接;驱动包为jdbc.jar;
2、数据库登录名为“sa”,登录密码为“fang”;
3、访问的数据库名称为“javaTest”,里面有两张表,一张为学生表:“STU”,用于学生身份登录访问;学生成功登录进系统后只能访问自己的基本信息及成绩;另一张为教师表“TCH”,用于教师身份登录访问;教师登陆成功后可访问任意学生信息及成绩;
4、STU包括学生用户名(学号)、学生密码、姓名、性别、班级、院系、英语成绩、数学成绩、计算机成绩、Linux成绩、Java成绩字段;STU表初始只有ID 字段和Pwd字段有值,且两者相同;ID字段为主键,与密码一起不能为空;其他全为
null;ID、Pwd、Name、Gender、Class、Depart字段构成了学生基本信息,均为字符串型;English、Math、Computer、Linux、Java字段构成了学生成绩信息,均为整型;初始数据如下表所示:
5、TCH包括教师用户名、密码两个字段;同样ID为主键,和密码一起不能为空,均为字符串型;教师登陆成功后可访问任意学生信息及成绩;教师表如下所示:
二、系统功能说明
1、登录界面
系统实现按不同身份下的用户名和密码登录,用户名和密码需与数据库中对应的表的字段值一致方可成功登录,否则提示失败;登录界面如下:
2、学生版信息成绩查询界面
学生身份登录成功后,进入学生版信息成绩查询界面,如下所示:
2.1 【我的信息】选项卡
进入该选项卡时,学号文本框是默认显示的用户名;且所有文本框均不可操作;
在【我的信息】页卡中,首次登录需要执行【插入】操作,插入自己相应的信息到后台数据库中;插入成功后才可点击【查询】执行查询操作;查询成功后在面板上进行相应显示;
2.1.1 插入操作
首次登录可执行【插入】操作,界面如下:
其中学生编号不可编辑,其他均可,编辑完成后点【添加】,若成功则提示成功;再次执行【插入】时系统提示不可操作,界面如下:
2.1.2 查询操作
未执行插入后点击【查询】按钮时:
在完成插入操作后,执行查询,显示如下:
2.2 【我的成绩】选项卡
进入该选项卡时,学号文本框是默认显示的用户名;且所有文本框均不可操作;
成绩由教师录入,学生没权限录入,因此点击【成绩查询】时,如果教师并没有录入成绩,此时显示如下提示:
当教师已对成绩进行录入后,学生点击【成绩查询】按钮进行如下成绩显示:
至此,学生版成绩信息管理系统功能结束;
3、教师版信息成绩查询界面
3.1 【学生信息】选项卡
进入该选项卡后,直接在面板上显示STU表中所有学生的信息,如下所示:
3.1.1 录入信息操作
点击【录入信息】按钮,可插入学生信息,如下图所示
输入完整后点击添加,即完成对新信息的录入;同时在学生信息的主界面上同步显示录入后的信息;
3.1.2 查询信息操作
点击【查询信息】按钮,输入所要查询学生的学号,可显示所要查询学生的信息,如下图所示;
3.1.3 修改信息操作
点击【修改信息】按钮,选中所要修改学生的记录,可执行学生信息的修改,如下图所示;
输入完成后点击【确定】完成信息的修改,同时在学生信息主界面上同步更新;
3.2 【学生成绩】选项卡
进入该选项卡后,直接在面板上显示STU表中所有学生的成绩,如下所示:
3.2.1 录入信息操作
点击【录入成绩】按钮,可插入学生成绩,如下图所示
输入完整后点击添加,即完成对新信息的录入;同时在学生成绩的主界面上同步显示录入后的成绩;
3.1.2 查询成绩操作
点击【查询成绩】按钮,输入所要查询学生的学号,可显示所要查询学生的成绩,如下图所示;
3.1.3 修改成绩操作
点击【修改成绩】按钮,选中所要修改学生的记录,可执行学生成绩的修改,如下图所示;
输入完成后点击【确定】完成信息的修改,同时在学生信息主界面上同步更新;
三、源码(包名:stuSystem,共10个java文件)
1、登录页面文件:CheckIn.java
代码:
/*一、本程序实现用户登录界面;
* 1、界面包括顶端一张图片,左侧一个图片;
2、中间有用户名、密码两个标签上下排列,同一行还有文本框和密码框上下排列;
3、下面是学生和教师两个单选按钮,供用户选择角色;
4、最下面是确定和取消两个按钮;
二、功能:实现用户的登录;
在系统相连的数据库中,应有两张表,一张为学生表:STU,表中有两个字段:ID和Pwd,均为字符串类型,分别存放学生的姓名和密码;
另一张为教师表:TCH,表中有两个字段:ID和Pwd,均为字符串类型,分别存放教师的姓名和密码;
1、数据库成功连接驱动判断;
2、数据库成功登录判断;
3、用户名和密码为空判断;
4、用户身份为空判断;
5、用户名和密码是否正确判断;
6、如学生身份登录正确则跳转至学生成绩信息系统页面;
7、如教师身份登录正确则跳转至教师版学生成绩信息系统页面;
8、点取消按钮退出系统;
*/
package stuSystem;
import java.sql.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import stuSysFind.Systems;
public class CheckIn extends JFrame implements ActionListener{
JLabel lab_name,//定义“用户名”标签;
lab_password,//定义“密码”标签;
lab1,//定义用来显示登录图片的标签,无文字内容;
lab2;//定义用来显示登录图片的标签,无文字内容;
JTextField text_name;//定义用来输入用户名的文本框;
JPasswordField pwd;//定义用来输入密码的密码框;
JButton but_enter,//定义“登录“按钮;
but_exit;//定义“退出”按钮;
JRadioButton rbu_stu,//定义”学生“单选按钮;
rbu_tea;//定义”教师“单选按钮;
ButtonGroup bgp;//定义一个按钮组,用来存放所有的单选按钮,以实现只能选其一的功能;
PreparedStatement ps=null;
Connection con=null;
ResultSet rs=null;
String forname="com.microsoft.sqlserver.jdbc.SQLServerDriver";
String
url="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=javaTest";
String user="sa";
String password="fang";
Vector table=null;
public static void main(String[] args){
CheckIn ci=new CheckIn();
}
public CheckIn (){//定义无参构造函数,用来初始化显示窗体;
super("学生成绩管理信息系统");
this.setLayout(null);//窗体在默认情况下是边界布局,此时控件的边界设置函数不起作用,需将边界布局清空;面板同理;