java的学生信息管理系统Word文档下载推荐.docx
《java的学生信息管理系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《java的学生信息管理系统Word文档下载推荐.docx(33页珍藏版)》请在冰点文库上搜索。
1.用户登陆界面。
该界面可以选择使用者的身份学生。
不同的身份有不同的操作界面和功能权限。
ID号和密码输入正确即可登录。
学生管理界面。
提供了学生学籍信息的查询,相关科目的成绩查询和排名,修改登录密码等功能。
2.管理员管理界面。
拥有最高的权限。
允许添加教师信息和课程信息等。
3.登录的用户信息分别存储在SQL数据库的“管理员信息表”,“学籍信息表”中,如果用户信息不存在则三张表中,将会无权利登录本管理系统。
保证了本学生管理系统的安全性。
3.数据库设计
3.1系统概念结构设计
图3-1学籍管理系统
图3-2成绩管理系统
图3-4管理员系统
图3-4学籍管理系统流程图
实体属性表:
实体
属性
管理员
管理员号,登录密码
学籍
学号,姓名,性别,籍贯,生源地,入学年份,学院,专业
成绩
学号,数据库,JAVA程序设计,高等数学,应用集成,操作系统,专业英语,计算机网络
3.2系统逻辑结构设计
管理员信息表:
字段名
类型
空值
约束条件
管理员号
varchar(10)
notnull
主键
登录密码
varchar(10)
成绩信息表:
学号
varchar(15)
主键,外键
数据库
float
JAVA程序设计
计算机网络
高等数学
专业英语
应用集成
操作系统
数据挖掘
学籍信息表:
int
姓名
varchar(30)
性别
char
(2)
入学年份
datatime
籍贯
char(10)
生源地
Char(20)
学院
专业
3.3数据库实现
3.3.1SQL语句实现
(1)学籍信息表创建:
createtable学籍信息表(
学号varchar(15)primarykey,
姓名varchar(8)notnull,
性别varchar(4),
入学年份datatime,notnull,
学院varchar(8)notnull,
专业varchar(8)notnull,
籍贯varchar(5),
生源地archar(6)notnull
)
(2)成绩信息表创建:
createtable成绩信息表(
学号varchar(15),
数据库float,notnull,
数据挖掘flaoat,notnull
计算机网络float,notnull,
Java程序设计float,notnull,
应用集成float,notnull,
foreignkey(学号)references学籍信息表(学号),
(3)管理员信息表创建:
createtable课程信息表(
管理员号varchar(8)primarykey,
登录密码varchar(12)notnull
视图的创建:
“学生成绩信息”视图创建:
createview学生成绩信息
as
SELECT学籍信息表.学号,学籍信息表.姓名,学籍信息表.性别,
课程信息表.入学年份,成绩信息表.学院,成绩信息表.专业
FROM成绩信息表
JOIN学籍信息表ON成绩信息表.学号=学籍信息表.学号
4.系统模块详细设计
4.1登录模块
4.2添加学生信息界面
4.3添加学生成绩界面
5.系统测试
5.1测试登陆
5.2查询学生成绩界面
5.3测试添加学生成绩
5.4测试查询分数
6.附录(代码)
由于篇幅有限,所以只附上主要功能的代码:
6.1登陆界面代码
importjava.awt.*;
importjavax.swing.*;
importjava.awt.event.*;
importjava.sql.*;
publicclasssystemsextendsJFrameimplementsActionListener
{
staticsystemsss;
JPanelpanel=newJPanel();
JLabellabel1=newJLabel("
输入学号:
"
);
JLabellabel3=newJLabel("
欢迎来到学生信息管理系统"
JTextFieldname=newJTextField();
JLabellabel2=newJLabel("
密码:
JPasswordFieldpwd=newJPasswordField();
JButtonEnter=newJButton("
登录"
JButtonExit=newJButton("
退出"
Stringurl="
D:
\\Systems\\title.jpg"
;
ButtonGroupbgp=newButtonGroup();
JRadioButtonstu=newJRadioButton("
学生"
JRadioButtontch=newJRadioButton("
教师"
publicsystems()
{
super("
学生信息管理系统"
this.setResizable(false);
JLabelimg=newJLabel(newImageIcon(url));
img.setBounds(0,0,500,100);
panel.add(img);
stu.setBounds(165,210,70,20);
tch.setBounds(265,210,70,20);
bgp.add(stu);
bgp.add(tch);
panel.add(stu);
panel.add(tch);
Enter.setBounds(150,250,80,20);
Exit.setBounds(270,250,80,20);
Enter.addActionListener(this);
Exit.addActionListener(this);
panel.add(Enter);
panel.add(Exit);
panel.setLayout(null);
this.add(panel);
label1.setBounds(135,130,100,25);
panel.add(label1);
label3.setBounds(70,20,380,100);
label3.setFont(newFont("
Serif"
Font.PLAIN,30));
panel.add(label3);
name.setBounds(265,130,100,25);
panel.add(name);
label2.setBounds(135,165,100,25);
panel.add(label2);
pwd.setBounds(265,165,100,25);
panel.add(pwd);
this.setBounds(100,100,500,350);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
publicvoidactionPerformed(ActionEvente)
if(e.getSource()==Enter)
{
Stringusername,password;
username=name.getText();
password=pwd.getText();
try
{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
}
catch(ClassNotFoundExceptionce)
JOptionPane.showMessageDialog(ss,ce.getMessage());
if(stu.isSelected())
try
Connectioncon=DriverManager.getConnection("
jdbc:
odbc:
sysdb"
"
sa"
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("
select*fromSTU"
while(rs.next())
{
if((rs.getString("
ID"
).equals(username))&
&
(rs.getString("
Pwd"
).equals(password)))
{
JOptionPane.showMessageDialog(ss,"
登陆成功"
Studentsstu=newStudents();
}
else
{
JOptionPane.showMessageDialog(ss,"
登录失败"
}
rs.close();
stmt.close();
catch(SQLExceptionse)
JOptionPane.showMessageDialog(ss,se.getMessage());
elseif(tch.isSelected())
systchdb"
Statementstmt=con.createStatement();
ResultSetrs=stmt.executeQuery("
select*fromTCH"
while(rs.next())
{
}
else
catch(SQLExceptionse)
JOptionPane.showMessageDialog(ss,se.getMessage());
}
else
System.exit(0);
publicstaticvoidmain(String[]args)
systemssys=newsystems();
}
6.2查询学生成绩
importjava.awt.font.*;
publicclassScoreextendsJFrameimplementsActionListener
staticScores;
JLabeltitle=newJLabel("
查询成绩"
JLabel.CENTER);
Fontf=newFont("
楷体"
Font.BOLD+Font.ITALIC,16);
JPaneljpl=newJPanel();
请输入学号:
JTextFieldnum=newJTextField();
JButtonserch=newJButton("
JButtonreset=newJButton("
重置"
计算机网络:
JLabel.LEFT);
操作系统:
JLabellabel4=newJLabel("
专业英语:
JLabellabel5=newJLabel("
数据挖掘:
JLabellabel6=newJLabel("
Java程序设计:
JLabellabel7=newJLabel("
数据库:
JLabellabel8=newJLabel("
高等数学:
JLabellabel9=newJLabel("
应用集成:
JTextField[]txt={newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField(),newJTextField()};
staticintp=140;
publicScore()
查询分数"
this.setSize(500,550);
title.setFont(f);
this.add(jpl);
jpl.setLayout(null);
title.setBounds(100,20,300,20);
jpl.add(title);
label1.setBounds(100,60,90,20);
jpl.add(label1);
num.setBounds(210,60,140,20);
jpl.add(num);
serch.setBounds(130,100,90,20);
reset.setBounds(240,100,90,20);
jpl.add(serch);
jpl.add(reset);
serch.addActionListener(this);
reset.addActionListener(this);
label2.setBounds(100,140,140,20);
label3.setBounds(100,180,140,20);
label4.setBounds(100,220,140,20);
label5.setBounds(100,260,140,20);
label6.setBounds(100,300,140,20);
label7.setBounds(100,340,140,20);
label8.setBounds(100,380,140,20);
label9.setBounds(100,420,140,20);
jpl.add(label2);
jpl.add(label3);
jpl.add(label4);
jpl.add(label5);
jpl.add(label6);
jpl.add(label7);
jpl.add(label8);
jpl.add(label9);
for(inti=0;
i<
txt.length;
i++)
txt[i].setBounds(260,p,140,20);
jpl.add(txt[i]);
p=p+40;
if(e.getSource()==serch)
Stringid=num.getText();
catch(ClassNotFoundExceptionce)
JOptionPane.showMessageDialog(s,ce.getMessage());
Connectioncon=DriverManager.getConnection("
select计算机系成绩.*fromSTU,计算机系成绩whereSTU.ID='
+id+"
'
ANDSTU.ID=计算机系成绩.SID"
for(inti=0;
i<
txt[i].setText(rs.getString(i+2));
JOptionPane.showMessageDialog(s,se.getMessage());
for(inti=0;
txt[i].setText("
num.setText("
Scores=newScore();
6.3添加学生成绩
publicclassAddscoreextendsJFrameimplementsActionListener
staticAddscoress;
JLabel[]label={newJLabel("
学号:
),newJLabel("
操作系统:
数据挖掘:
Ja