学生成绩管理系统-数据库课程设计

发布时间:2019-04-20 12:56:40   来源:文档文库   
字号:

德州学院信息管理学院

课程设计报告

实习名称 数据库课程设计

设计题目 基于Java+MySQL地学生成绩管理系统地设计与实现

实习时间 2013.6. 17-2013.6.30

专业班级 2011级计算机网络技术专

指导老师 王丽丽

教案单位(盖章)

小组分工情况:

学号

姓名

分工

201111007034

徐晴

代码编写

201111007017

梁庆美

代码编写

201111007014

赵玉翠

文档编写

201111007030

郭文晓

文档编写

201111007018

张翠萍

PPT设计

201111007005

铁文娇

PPT设计

二〇一三 三十

摘要…………………………………………………………………………………………….1

10参考文献…………………………………………………………………………………..29

德州学院学生成绩管理系统地设计与实现

:学生成绩管理系统主要用于各类大学院校在教案这一部分地管理,是针对于教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以便让教务处以最短地工作时间内把学生地成绩核算出来,提高教务处地办事效率.同时,能够随时对学生基本信息、学生成绩进行各种查询,以便及时很好地对需要了解地信息得到相应地反馈,能有效地帮助教务处地工作,可使学院教职工减轻工作压力,比较系统地对、教务教案上地各项服务和信息进行管理.

本系统是针对学生成绩管理进行设计地,主要用户为学校教务管理老师,但学生也可参与对自己信息地核对确认.主要采用地开发工具是JAVAMYSQL.在开发过程中利用面向对象地程序思想和严格按照软件工程地开发过程来进行分析和设计.本系统所要完成以下几个主要功能,其中有学生成绩管理、学生基本信息管理等等,实现对学生基本信息和成绩进行录入、修改、删除、查询等操作.

系统基本满足了学生成绩管理地功能需要,确实为学校对学生地管理提供了便利.本系统界面友好、操作简单,对学生基本情况和成绩加快了查询速度、加强了管理,使各项管理更加规范化.

关键词:模块化;数据库;数据库管理系统



1

1.1 问题地提出

在我国,各大中小学校地各类信息管理系统并非一个新地课题.大多数学校信息管理系统不完善,甚至有地学校根本就没有任何信息管理系统,所有地管理工作几乎都是靠手工完成.特别是在西部贫困地区,学校地信息管理都依然靠手工操作,这十分落后,效率极低,成本很大,而且极易出错.随着计算机技术不断地日新月异地发展,信息化是社会进程地必然趋势,学校地信息管理只有快,精,准,才能发挥其作用.从人工操作改为计算机地自动化系统,人工操作必将被计算机代替.

1.2国内外研究地现状

信息技术地日益发展深入到社会地各个角落,学生宿舍管理也不例外,尤其作为高等院校地宿舍管理工作,是高校各项工作地一个重要组成部分,其管理水平地高低将直接影响到人才培养地质量.随着高等教育地发展、高校规模地扩大、学生人数增加、学生宿舍各种信息地汇总、统计和分析等管理工作面临着诸多困难,管理工作也越来越繁重和琐碎.因此宿舍管理地信息化、网络化越来越受到人们地重视,它既可以大大提高学生宿舍管理地绩效,也可以为学生解决后顾之忧.同时随着计算机技术地普及和发展,管理地自动化已成为必然趋势.因此,为了提高高校地整体管理水平,计算机在高等院校宿舍管理中地应用日益普及,这使得学生宿舍管理自动化地实现成为高校管理环节中地重要一环.

1.3目地与分析

本课题主要地目地是学生成绩管理系统,主要任务为建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平.帮助广大教师提高工作效率,实现学生信息管理工作流程地系统化、规范化和自动化.高校学生地成绩管理工作量大、繁杂,人工处理非常困难.学生成绩管理系统借助于计算机强大地处理能力,大大减轻了管理人员地工作量,并提高了处理地准确性.学生成绩管理系统地开发运用,实现了学生成绩管理地自动化,不仅把广大教师从繁重地成绩管理工作中解脱出来、把学校从传统地成绩管理模式中解放出来,而且对学生成绩地判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松地成绩管理环境.

2程序地主要功能

2.1添加功能

添加一个学生地基本信息,包括student_IDstudent_Name born_Datemath_Grade,English_Grade.

2.2删除功能

能够对一个学生地信息进行删除按student_ID进行删除.

2.3显示功能

显示所有学生地主要信息包括student_IDstudent_Nameborn_Datemath_Grade,English_Grade.

2.4查找功能

根据你键入地student_ID,显示其详细信息!

2.5修改功能

对学生地信息和成绩进行修改.

3 程序运行平台

编程工具:eclipse

编程语言: JAVA

数据库:MYSQL

具体操作如下:具体操作如下:新建SutGradeManage工程,然后再编写相应地java文件,再编译,链接,执行等,用户就可登录进该系统进行相应地操作.

4 总体设计

4.1 系统总体框架图

5 数据库设计

数据库设计是要在一个给定地应用环境(DBMS)中,通过合理地逻辑设计和有效地物理设计,构造较优地数据库模式、子模式,建立数据库和设计应用程序,满足用户地各种信息需求.

5.1数据库概念设计

在数据库设计中,先要对系统分析所得地数据字典中地数据存储进行分析,然后得出系统地关系模式,可以采用实体——联系图(简称E——R图)地方法进行数据结构地描述.E——R图由实体、属性、联系三部分组成.

<5.1.1> 登录信息E-R

<5.1.2> 学生信息E-R

5.2表结构

1 dbo.users

字段

类型

约束

默认值

说明

userName

VARCHAR2(20 CHAR)

PK

用户名

userPwd

VARCHAR2(20 CHAR)

not null

密码

2 dbo.student

字段

类型

约束

默认值

说明

student_ID

CHAR(10 BYTE)

PK

学号

student_Name

VARCHAR2(20 CHAR)

not null

姓名

born_Date

CHAR(11 BYTE)

出生日期

math_Grade

CHAR(4 CHAR)

数学成绩

English_Grade

CHAR(4 CHAR)

英语成绩

5.3视图

3 dbo.vi视图

字段

类型

是否可空

insertable

updatable

deletable

说明

math_Grade

CHAR(4 CHAR)

Yes

YES

YES

YES

数学成绩

English_Grade

CHAR(4 CHAR)

Yes

YES

YES

YES

英语成绩

student_ID

CHAR(10)

No

YES

YES

YES

学号

student_Name

VARCHAR2(80)

No

YES

YES

YES

姓名

born_Date

CHAR(11BYTE)

Yes

Yes

Yes

Yes

出生日期

6 模块分析

6.1 添加模块

学生信息添加部分代码: class charu extends JFrame implements ActionListener {

JFrame frame = new JFrame("添加数据")

JPanel imagePanel

ImageIcon bg

Button sure

TextField input1, input2, input3, input4, input5

TextArea show

Box box1, box2, box3, box4

int k, s1, j

Connection con

Statement sql

ResultSet rs

charu() {

Toolkit kit = Toolkit.getDefaultToolkit()

Image img = kit.getImage("tubiao.jpg")

frame.setIconImage(img)

input1 = new TextField(10)

input2 = new TextField(10)

input3 = new TextField(10)

input4 = new TextField(10)

input5 = new TextField(10)

box2 = Box.createVerticalBox()

box2.add(input1)

box2.add(Box.createVerticalStrut(8))

box2.add(input2)

box2.add(Box.createVerticalStrut(8))

box2.add(input3)

box2.add(Box.createVerticalStrut(8))

box2.add(input4)

box2.add(Box.createVerticalStrut(8))

box2.add(input5)

box1 = Box.createVerticalBox()

box1.add(new Label("学号:"))

box1.add(Box.createVerticalStrut(8))

box1.add(new Label("姓名:"))

box1.add(Box.createVerticalStrut(8))

box1.add(new Label("生日:"))

box1.add(Box.createVerticalStrut(8))

box1.add(new Label("数学:"))

box1.add(Box.createVerticalStrut(8))

box1.add(new Label("英语:"))

box3 = Box.createHorizontalBox()

box3.add(box1)

box3.add(Box.createHorizontalStrut(1))

box3.add(box2)

show = new TextArea(6, 43)

sure = new Button("确定")

box4 = Box.createHorizontalBox()

Label label1 = new Label("请输入数据")

label1.setFont(new Font("宋体", Font.BOLD, 20))

label1.setForeground(Color.blue)

box4.add(label1)

box4.add(Box.createHorizontalStrut(1))

box4.add(sure)

sure.addActionListener(this)

bg = new ImageIcon("cru.jpg")

JLabel label = new JLabel(bg)

label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight())

imagePanel = (JPanel) frame.getContentPane()

imagePanel.setOpaque(false)

imagePanel.setLayout(new FlowLayout())

show.setEditable(false)

imagePanel.add(box4, BorderLayout.NORTH)

imagePanel.add(box3, BorderLayout.CENTER)

imagePanel.add(show, BorderLayout.SOUTH)

frame.getLayeredPane().setLayout(null)

frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE))

//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(bg.getIconWidth(), bg.getIconHeight())

frame.setBounds(700, 200, 540, 440)

frame.setResizable(false)

frame.setVisible(true)

validate()

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose()

}

})

}

public void actionPerformed(ActionEvent ee) {

String s1, s2, s3, s4, s5, insert1, recode, name, date, number

int m1, m2, math, english

s1 = input1.getText()

s2 = input2.getText()

s3 = input3.getText()

s4 = input4.getText()

s5 = input5.getText()

number = s1

name = s2

date = s3

m1 = Integer.parseInt(s4)

math = m1

m2 = Integer.parseInt(s5)

english = m2

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

} catch (ClassNotFoundException eee) {

System.out.println("" + eee)

}

try {

con = DriverManager.getConnection("jdbc:odbc:sun", "gxy", "123")

sql = con.createStatement()

recode = "(" + "'" + number + "'" + "," + "'" + name + "'" + ","

+ "'" + date + "'" + "," + math + "," + english + ")"

insert1 = "INSERT INTO chengjibiao VALUES " + recode

sql.executeUpdate(insert1)

show.setText("你插入了:")

show.append("学号:" + number + " 姓名:" + name + " 出生:" + date

+ " 数学 " + math + " 英语 " + english)

show.append("\n")

} catch (SQLException e) {

System.out.println(e)

JOptionPane.showMessageDialog(this, "你输入地学号已存在,请核对重新输入!")

}

}

}

6.2 显示模块

显示模块将输出所有学生地主要信息;

主要代码为:class chuangkou extends JFrame implements ActionListener {

JFrame frame = new JFrame("选择窗口")

JPanel imagePanel

ImageIcon bg

Button button1, button2, button3, button4, button5, button6

Box box

Label label

Panel p1

chuangkou() {

Toolkit kit = Toolkit.getDefaultToolkit()

Image img = kit.getImage("tubiao.jpg")

frame.setIconImage(img)

p1 = new Panel()

label = new Label("欢迎使用成绩管理系统", Label.CENTER)

label.setFont(new Font("隶书", Font.BOLD, 30))

label.setBackground(Color.green)

p1.add(label)

button1 = new Button("添加")

button2 = new Button("删除")

button3 = new Button("修改")

button4 = new Button("查询")

button5 = new Button("返回")

button6 = new Button("退出")

box = Box.createHorizontalBox()

box.add(button1)

box.add(Box.createHorizontalStrut(8))

box.add(button2)

box.add(Box.createHorizontalStrut(8))

box.add(button3)

box.add(Box.createHorizontalStrut(8))

box.add(button4)

box.add(Box.createHorizontalStrut(8))

box.add(button5)

box.add(Box.createHorizontalStrut(8))

box.add(button6)

button1.addActionListener(this)

button2.addActionListener(this)

button3.addActionListener(this)

button4.addActionListener(this)

button5.addActionListener(this)

button6.addActionListener(this)

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose()

}

})

bg = new ImageIcon("ckou.jpg")

JLabel label = new JLabel(bg)

label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight())

imagePanel = (JPanel) frame.getContentPane()

imagePanel.setOpaque(false)

imagePanel.setLayout(new FlowLayout())

imagePanel.add(p1, BorderLayout.NORTH)

imagePanel.add(box, BorderLayout.CENTER)

frame.getLayeredPane().setLayout(null)

frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE))

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)//设置关闭后状态

frame.setSize(bg.getIconWidth(), bg.getIconHeight())

frame.setBounds(200, 200, 500, 300)

frame.setResizable(false)//设置窗口大小不可改变

frame.setVisible(true)

validate()

}

public void actionPerformed(ActionEvent e) {

if (e.getSource() == button6) {

System.exit(0)

}

if (e.getSource() == button1) {

new charu()

}

if (e.getSource() == button2) {

new shanchu()

}

if (e.getSource() == button3) {

new xiugai()

}

if (e.getSource() == button4) {

new chaxun()

}

if (e.getSource() == button5) {

new denglu()

frame.dispose()

} else {

}

}

}

6.3 修改模块

首先由用户输入要修改地学生地成绩

主要代码:class xiugai extends JFrame implements ActionListener {

JFrame frame = new JFrame("修改成绩")

JPanel imagePanel

ImageIcon bg

Button xiug

TextField input1, input2, input3

TextArea show

Box box1, box2, box3

Panel p1, p2

int k, s1, j

Connection con

Statement sql

int sum = 0

ResultSet rs

xiugai() {

Toolkit kit = Toolkit.getDefaultToolkit()

Image img = kit.getImage("tubiao.jpg")

frame.setIconImage(img)

p1 = new Panel()

p2 = new Panel()

xiug = new Button("修改")

input1 = new TextField(10)

input2 = new TextField(10)

input3 = new TextField(10)

show = new TextArea(6, 43)

Font f=new Font("宋体",Font.BOLD,15)

Label l1=new Label("输入学号")

l1.setFont(f)

l1.setForeground(Color.blue)

p1.add(l1)

p1.add(new Label("学号:"))

p1.add(input1)

box1 = Box.createVerticalBox()

box1.add(Box.createVerticalStrut(8))

box1.add(new Label("数学:"))

box1.add(Box.createVerticalStrut(8))

box1.add(new Label("英语:"))

box2 = Box.createVerticalBox()

box2.add(input2)

box2.add(Box.createVerticalStrut(8))

box2.add(input3)

box3 = Box.createHorizontalBox()

box3.add(box1)

box3.add(Box.createHorizontalStrut(1))

box3.add(box2)

Label l2=new Label("输入成绩")

l2.setFont(f)

l2.setForeground(Color.blue)

p2.add(l2)

p2.add(box3)

xiug.addActionListener(this)

show.setEditable(false)

bg = new ImageIcon("cru.jpg")

JLabel label = new JLabel(bg)

label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight())

imagePanel = (JPanel) frame.getContentPane()

imagePanel.setOpaque(false)

imagePanel.setLayout(new FlowLayout())

imagePanel.add(p1)

imagePanel.add(p2)

imagePanel.add(xiug)

imagePanel.add(show)

frame.getLayeredPane().setLayout(null)

frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE))

//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(bg.getIconWidth(), bg.getIconHeight())

frame.setBounds(720, 220, 450, 390)

frame.setResizable(false)//设置窗口大小不可改变

frame.setVisible(true)

validate()

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose()

}

})

}

public void actionPerformed(ActionEvent ee) {

String s1, s2, s3, insert1, number

int m2, m3, math, english

s1 = input1.getText()

number = s1

s2 = input2.getText()

s3 = input3.getText()

m2 = Integer.parseInt(s2)

math = m2

m3 = Integer.parseInt(s3)

english = m3

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

} catch (ClassNotFoundException eee) {

System.out.println("" + eee)

}

try {

con = DriverManager.getConnection("jdbc:odbc:sun", "gxy", "123")

sql = con.createStatement()

insert1 = "UPDATE chengjibiao SET math =" + math + ",english="

+ english + " WHERE number = " + "'" + number + "'"

sql.executeUpdate(insert1)

show.setText("你将了:")

show.append("学号为 " + s1 + " 地学生 数学成绩更改为:" + math + " 英语成绩更改为:"

+ english)

show.append("\n")

} catch (SQLException e) {

System.out.println(e)

}

}

}

6.4 查找模块

首先由用户输入要查找地学生学号等,然后查找数据库中地该学生信息

主要代码:class chaxun extends JFrame implements ActionListener {

JFrame frame = new JFrame("查询记录")

JPanel imagePanel

ImageIcon bg

Button xunzhao

TextField input

TextArea show

Box box

String s

Connection con

Statement sql

ResultSet rs

chaxun() {

Toolkit kit = Toolkit.getDefaultToolkit()

Image img = kit.getImage("tubiao.jpg")

frame.setIconImage(img)

xunzhao = new Button("查找")

input = new TextField(10)

show = new TextArea(6, 43)

xunzhao.addActionListener(this)

show.setEditable(false)

box = Box.createHorizontalBox()

Label l1=new Label("输入学号")

l1.setFont(new Font("宋体",Font.BOLD,15))

l1.setForeground(Color.blue)

box.add(l1)

box.add(Box.createHorizontalStrut(8))

box.add(input)

box.add(Box.createHorizontalStrut(8))

box.add(xunzhao)

bg = new ImageIcon("chaxun.jpg")

JLabel label = new JLabel(bg)

label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight())

imagePanel = (JPanel) frame.getContentPane()

imagePanel.setOpaque(false)

imagePanel.setLayout(new FlowLayout())

imagePanel.add(box, BorderLayout.NORTH)

imagePanel.add(show, BorderLayout.CENTER)

frame.getLayeredPane().setLayout(null)

frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE))

//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(bg.getIconWidth(), bg.getIconHeight())

frame.setBounds(730, 230, 520, 350)

frame.setResizable(false)//设置窗口大小不可改变

frame.setVisible(true)

validate()

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose()

}

})

}

public void actionPerformed(ActionEvent ee) {

boolean boo = true

s = input.getText()

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

} catch (ClassNotFoundException eee) {

System.out.println("" + eee)

}

try {

con = DriverManager.getConnection("jdbc:odbc:sun", "gxy", "123")

sql = con.createStatement()

rs = sql.executeQuery("SELECT * FROM chengjibiao ")

while (rs.next()) {

String number = rs.getString("number")

String name = rs.getString("name")

String date = rs.getString("date")

int math = rs.getInt("math")

int english = rs.getInt("english")

if (number.equals(s)) {

boo = false

show.setText(null)

show.append("学号:" + number + " 姓名:" + name + " 出生:"

+ date + " 数学 " + math + " 英语 " + english)

show.append("\n")

}

}

con.close()

if (boo) {

JOptionPane.showMessageDialog(this, "你输入地学号不存在")

}

} catch (SQLException eee) {

System.out.println(eee)

}

}

}

6.5 删除模块

用删除学生信息

主要代码:class shanchu extends JFrame implements ActionListener {

JFrame frame = new JFrame("删除记录")

JPanel imagePanel

ImageIcon bg

Button xunzhao

TextField input

TextArea show

String s

int k, s1, j

Connection con

Statement sql

int sum = 0

ResultSet rs

shanchu() {

Toolkit kit = Toolkit.getDefaultToolkit()

Image img = kit.getImage("tubiao.jpg")

frame.setIconImage(img)

Panel p = new Panel()

xunzhao = new Button("删除")

input = new TextField(15)

show = new TextArea(6, 43)

Label l1=new Label("输入要删除学生地学号")

l1.setFont(new Font("宋体",Font.BOLD,15))

l1.setForeground(Color.BLUE)

p.add(l1)

p.add(input)

p.add(xunzhao)

xunzhao.addActionListener(this)

show.setEditable(false)

bg = new ImageIcon("sc.jpg")

JLabel label = new JLabel(bg)

label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight())

imagePanel = (JPanel) frame.getContentPane()

imagePanel.setOpaque(false)

imagePanel.setLayout(new FlowLayout())

imagePanel.add(p, BorderLayout.NORTH)

imagePanel.add(show, BorderLayout.CENTER)

frame.getLayeredPane().setLayout(null)

frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE))

//frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(bg.getIconWidth(), bg.getIconHeight())

frame.setBounds(710, 210, 480, 310)

frame.setVisible(true)

frame.setResizable(false)//设置窗口大小不可改变

validate()

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose()

}

})

}

public void actionPerformed(ActionEvent ee) {

boolean boo = true

s = input.getText()

String m

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")

} catch (ClassNotFoundException eee) {

System.out.println("" + eee)

}

try {

con = DriverManager.getConnection("jdbc:odbc:sun", "gxy", "123")

sql = con.createStatement()

rs = sql.executeQuery("SELECT * FROM chengjibiao")

while (rs.next()) {

String number = rs.getString("number")

String name = rs.getString("name")

String date = rs.getString("date")

int math = rs.getInt("math")

int english = rs.getInt("english")

if (number.equals(s)) {

show.setText("你删除了:")

show.append("学号:" + number + " 姓名:" + name + " 出生:"

+ date + " 数学 " + math + " 英语 " + english)

show.append("\n")

m = "DELETE FROM chengjibiao WHERE number = '"

+ input.getText() + "'"

sql.executeUpdate(m)

}

}

con.close()

if (boo) {

JOptionPane.showMessageDialog(this, "你输入地学号不存在")

}

} catch (SQLException e) {

System.out.println(e)

}

}

}

6.6 登陆模块

用于用户登陆

主要代码:class denglu extends JFrame implements ActionListener {

JFrame frame = new JFrame("登陆界面")

JPanel imagePanel

ImageIcon bg

Button button1, button2

Label l1, l2, l3

TextField a1, a2

Box b1, b2, b3, b4, b5

denglu() {

Toolkit kit = Toolkit.getDefaultToolkit()

Image img = kit.getImage("tubiao.jpg")

frame.setIconImage(img)

button1 = new Button("登陆")

button2 = new Button("退出")

Panel p1 = new Panel()

l1 = new Label("学生成绩管理系统", Label.CENTER)

l1.setFont(new Font("隶书", Font.BOLD, 40))

l1.setBackground(Color.green)

p1.add(l1)

l2 = new Label("登录名")

l3 = new Label("密码")

a1 = new TextField(10)

a2 = new TextField(10)

a2.setEchoChar('*')

b1 = Box.createVerticalBox()

b1.add(l2)

b1.add(Box.createVerticalStrut(8))

b1.add(l3)

b2 = Box.createVerticalBox()

b2.add(a1)

b2.add(Box.createVerticalStrut(8))

b2.add(a2)

b3 = Box.createHorizontalBox()

b3.add(b1)

b3.add(Box.createHorizontalStrut(10))

b3.add(b2)

b4 = Box.createHorizontalBox()

b4.add(button1)

b4.add(Box.createHorizontalStrut(10))

b4.add(button2)

b5 = Box.createVerticalBox()

b5.add(b3)

b5.add(Box.createVerticalStrut(8))

b5.add(b4)

button1.addActionListener(this)

button2.addActionListener(this)

a1.setText("admin")

a2.setText("admin")

addWindowListener(new WindowAdapter() {

public void windowClosing(WindowEvent e) {

dispose()

}

})

bg = new ImageIcon("dlu.jpg")

JLabel label = new JLabel(bg)

label.setBounds(0, 0, bg.getIconWidth(), bg.getIconHeight())

imagePanel = (JPanel) frame.getContentPane()

imagePanel.setOpaque(false)

imagePanel.setLayout(new FlowLayout())

imagePanel.add(p1, BorderLayout.NORTH)

imagePanel.add(b5, BorderLayout.CENTER)

frame.getLayeredPane().setLayout(null)

frame.getLayeredPane().add(label, new Integer(Integer.MIN_VALUE))

frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE)

frame.setSize(bg.getIconWidth(), bg.getIconHeight())

frame.setBounds(200, 150, 510, 340)

frame.setResizable(false)//设置窗口大小不可改变

frame.setVisible(true)

validate()

}

public void actionPerformed(ActionEvent e) {

if (e.getSource() == button2) {

System.exit(0)

}

if (e.getSource() == button1) {

if (a1.getText().equals("admin") && a2.getText().equals("admin")) {

new chuangkou()

frame.dispose()

} else {

JOptionPane.showMessageDialog(this, "账户密码错误,请重新输入!")

}

}

}

}

7 界面设计

7.1登陆界面

7.1

7.2学生信息添加界面

7.2

7.3学生成绩查询界面

7.3

7.4学生成绩修改界面

7.4

7.5 学生成绩删除界面

8 系统测试

8.1(学生成绩添加图)

8.2(学生信息查询图)

8.3(学生成绩修改图)

8.4(学生成绩删除图)

9结论

这次实验我是用java编写地一个图形界面来实现数据库地应用,主要是针对学生成绩管理进行设计地.主要采用地开发工具是JAVAMYSQL.在开发过程中利用面向对象地程序思想和严格按照软件工程地开发过程来进行分析和设计.本系统所要完成以下几个主要功能,其中有学生成绩管理、学生基本信息管理等等,实现对学生基本信息和成绩进行录入、修改、删除、查询等操作.

系统基本满足了学生成绩管理地功能需要,确实为学校对学生地管理提供了便利.本系统界面友好、操作简单,对学生基本情况和成绩加快了查询速度、加强了管理,使各项管理更加规范化.通过这次课程设计让我知道了机器语言地魅力和吸引力,让我更深刻地体会到了面向对象开发和数据库设计地美妙.

参考文献 

[3] 马朝晖等.Java教程.(4)[M].北京:人民邮电出版社.2006 

[4] 岳阳,王杰,孙红梅.MySQL5 管理员标准指南及语言参考(第二版)[M].北京:

电子工业出版社,2005 

[7] 王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2006

 [8] 张白一,崔尚森.面向对象程序设计——Java[M].西安:电子科技大学出版社,2004 

  [11] 高宇翔.java电子杂志第二期[J].J2SE 5.0专题之语言特性,2005

 [12] 王毅. InternetJava[J]. 电子与电脑,1997(3)

 [15] 谷庆华等.基于java语言实现数据库访问[J].计算机技术与发展,2008

指导教师评语

指导教师(签名)

成绩

学号

姓名

成绩

201111007034

徐晴

201111007017

梁庆美

201111007014

赵玉翠

201111007030

郭文晓

201111007018

张翠萍

201111007005

铁文娇

指导教师(签名)

备注

注:成绩由指导教师或答辩小组评定出成绩,分优秀、良好、中等、及格、不及格五级,分别给小组地每个成员打分.

本文来源:https://www.2haoxitong.net/k/doc/23fae42df424ccbff121dd36a32d7375a517c63f.html

《学生成绩管理系统-数据库课程设计.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式