沈阳理工大学应用技术学院综合实验报告
综合性实验—学生成绩管理系统
班级:数学 092
实验仪器设备:多媒体计算机。
实验目的:
学号:200912010210
姓名:同艳云
在掌握相关基础知识的基础上,学会自己设计实验,熟练掌握 JDBC 技术访问数据
库(或数据文件)的方法、在 Java 中进行数据库应用程序开发的方法和步骤,熟悉 Swing
组件特性和 Action 接口并能够恰当运用实现特定功能,会开发多窗体应用程序。
实验要求:
在 8 学时以内,制作出能够实现基本功能的学生成绩管理系统。写出技术工作报告
并附源程序。
实验内容及任务:
1.进行数据库(或数据文件)设计,数据分为学生信息、成绩管理、信息查询等
三部分;使用学生信息表、课程表两个数据表来存放数据。
2.选择适当组件进行界面设计:界面要美观大方,具有主菜单和相应工具栏及按
钮;
3.编写事件代码:
能够实现学生信息维护(录入、修改和删除);学生信息浏览;按“学号”查询
学生信息;按“姓名”和“所在班级”查询学生信息;按“学院名称”查询学生信息;
按课程查询学生成绩等功能。
4.分析总结:
学生成绩管理系统
登录
查询
编辑
存储
管理
学
生
登
录
学
生
基
本
信
息
添
加
删
除
修
改
系
统
管
理
沈阳理工大学应用技术学院综合实验报告
1.数据库、数据表(或数据文件)设计;
1.1 学生基本信息表包含的信息是学生编号、学生姓名、学生性别、学生年龄、
家庭住址、联系电话等信息,设计时注意 ID 字段设为主键,设为 Int 类型,如表 4.1
所示:
表 4.1 学生基本信息表
字段名
数据类型
ID
Name
Sex
Age
Address
Phone
Int
Varchar(10)
Char(10)
Int
Varchar(50)
Char(15)
说明
学生编号
学生姓名
性别
年龄
家庭住址
联系电话
1.2 班级基本信息表包括学生编号、科目类型、任课教师、所得分数,ID 设为主键,
如表 4.2 所示:
字段名
ID
OType
OName
Grade
表 4.2 班级基本信息信息表
数据类型
Int
Varchar(10)
Varchar(10)
int
说明
学生编号
科目类型
任课教师
所得分数
2.主控模块设计;
2.1 系统登录界面,如图 4.3-4.6 所示。
图 4.3
沈阳理工大学应用技术学院综合实验报告
图 4.4
图 4.5
2.2 系统主界面,如图 4.6 所示。
3.学生信息维护模块设计;
3.1 增加学生信息界面,如图 4.7 所示。
图 4.6
沈阳理工大学应用技术学院综合实验报告
3.2 修改学生信息界面,如图 4.8 所示。
图 4.7
图 4.8
3.3.删除学生信息界面,如图 4.9 所示。
沈阳理工大学应用技术学院综合实验报告
图 4.9
4.学生信息查询模块设计;
4.1 按学号查找学生信息界面,如图 4.10 所示。
图 4.10
4.2 按姓名,学号查找学生信息界面,如图 4.11 所示。
沈阳理工大学应用技术学院综合实验报告
实验总结:
图 4.11
通过本次实验设计,我对 JAVA 的知识又有了更深的了解,而且对 Swing 界面设计
有了更深的领悟,而且更熟练使用 JAVA 和数据库的连接,以及对简单的数据库查询语
言有了些许了解,然后在编程设计阶段还是遇到了许多问题,但是通过网上查询资料,
以及和同学讨论这些问题都迎刃而解了,必须要有团结合作精神,而且要吃苦耐劳,耐
心严谨,这次设计实验对我的知识技能和思维都是一个很好的锻炼。
附录
1.系统登录界面程序代码
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
class WyFrame extends Frame implements ActionListener
{
Label l1,l2;
TextField t1,t2;
沈阳理工大学应用技术学院综合实验报告
Button b1,b2;
public static int k;
public WyFrame()
{
super("学生管理系统");
setBackground(Color.lightGray);
setLayout(null);
setSize(240,160);
this.setLocationRelativeTo(null);
l1=new Label("用户名",Label.CENTER);
l2=new Label("密 码",Label.CENTER);
t1=new TextField();
t2=new TextField();
b1=new Button("登 入");
b2=new Button("退 出");
l1.setBounds(40,45,40,30);
l2.setBounds(40,80,40,30);
t1.setBounds(90,45,100,25);
t2.setBounds(90,80,100,25);
b1.setBounds(50,115,60,30);
b2.setBounds(125,115,60,30);
b1.addActionListener(this);
b2.addActionListener(this);
add(l1);add(l2);add(t1);add(t2);add(b1);add(b2);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
setVisible(true);
});
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==b1)
if(e.getSource()==b2)
k=1;
k=2;
repaint();
if(k==1)
{
{
if(t1.getText().toString().trim().equals("09321104")&&
t2.getText().toString().trim().equals("880902"))
MyMenu hyf=new MyMenu();
this.setVisible(false);
沈阳理工大学应用技术学院综合实验报告
if(t1.getText().toString().trim().equals("09321104"))
{
JOptionPane.showMessageDialog(this,"密码与用户名不匹配!");
JOptionPane.showMessageDialog(this,"用户名错误!");
}
else
{
}
else
}
}
if(k==2)
{
dispose();
System.exit(0);
}
}
}
public class Login
{
public static void main(String args[])
{
WyFrame hyf=new WyFrame();
}
}
2.系统主界面程序代码(含有菜单)
import java.awt.*;
import java.awt.event.*;
import java.util.*;
public class MyMenu extends Frame implements ActionListener
{
public MyMenu()
{
super("学生管理系统");
setSize(400,300);
setBackground(Color.lightGray);
setVisible(true);
setLocationRelativeTo(null);
this.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
dispose();
System.exit(0);
}
});
Menu file=new Menu("文件");
MenuItem exit=new MenuItem("退出");