德州学院信息管理学院
课程设计报告
实习名称 数据库课程设计
设计题目 基于Java+MySQL地学生成绩管理系统地设计与实现
实习时间 2013.6. 17-2013.6.30
专业班级 2011级计算机网络技术专
指导老师 王丽丽
教案单位(盖章)
小组分工情况:
学号 | 姓名 | 分工 |
201111007034 | 徐晴 | 代码编写 |
201111007017 | 梁庆美 | 代码编写 |
201111007014 | 赵玉翠 | 文档编写 |
201111007030 | 郭文晓 | 文档编写 |
201111007018 | 张翠萍 | PPT设计 |
201111007005 | 铁文娇 | PPT设计 |
二〇一三 年 六 月 三十 日
摘要…………………………………………………………………………………………….1
10参考文献…………………………………………………………………………………..29
德州学院学生成绩管理系统地设计与实现
摘 要:学生成绩管理系统主要用于各类大学院校在教案这一部分地管理,是针对于教务处对课程、对学生、对学生成绩进行合理地安排以及统筹计划,以便让教务处以最短地工作时间内把学生地成绩核算出来,提高教务处地办事效率.同时,能够随时对学生基本信息、学生成绩进行各种查询,以便及时很好地对需要了解地信息得到相应地反馈,能有效地帮助教务处地工作,可使学院教职工减轻工作压力,比较系统地对、教务教案上地各项服务和信息进行管理.
本系统是针对学生成绩管理进行设计地,主要用户为学校教务管理老师,但学生也可参与对自己信息地核对确认.主要采用地开发工具是JAVA和MYSQL.在开发过程中利用面向对象地程序思想和严格按照软件工程地开发过程来进行分析和设计.本系统所要完成以下几个主要功能,其中有学生成绩管理、学生基本信息管理等等,实现对学生基本信息和成绩进行录入、修改、删除、查询等操作.
系统基本满足了学生成绩管理地功能需要,确实为学校对学生地管理提供了便利.本系统界面友好、操作简单,对学生基本情况和成绩加快了查询速度、加强了管理,使各项管理更加规范化.
关键词:模块化;数据库;数据库管理系统
在我国,各大中小学校地各类信息管理系统并非一个新地课题.大多数学校信息管理系统不完善,甚至有地学校根本就没有任何信息管理系统,所有地管理工作几乎都是靠手工完成.特别是在西部贫困地区,学校地信息管理都依然靠手工操作,这十分落后,效率极低,成本很大,而且极易出错.随着计算机技术不断地日新月异地发展,信息化是社会进程地必然趋势,学校地信息管理只有快,精,准,才能发挥其作用.从人工操作改为计算机地自动化系统,人工操作必将被计算机代替.
信息技术地日益发展深入到社会地各个角落,学生宿舍管理也不例外,尤其作为高等院校地宿舍管理工作,是高校各项工作地一个重要组成部分,其管理水平地高低将直接影响到人才培养地质量.随着高等教育地发展、高校规模地扩大、学生人数增加、学生宿舍各种信息地汇总、统计和分析等管理工作面临着诸多困难,管理工作也越来越繁重和琐碎.因此宿舍管理地信息化、网络化越来越受到人们地重视,它既可以大大提高学生宿舍管理地绩效,也可以为学生解决后顾之忧.同时随着计算机技术地普及和发展,管理地自动化已成为必然趋势.因此,为了提高高校地整体管理水平,计算机在高等院校宿舍管理中地应用日益普及,这使得学生宿舍管理自动化地实现成为高校管理环节中地重要一环.
本课题主要地目地是学生成绩管理系统,主要任务为建立学生信息管理系统,采用计算机对学生信息进行管理,进一步提高办学效益和现代化水平.帮助广大教师提高工作效率,实现学生信息管理工作流程地系统化、规范化和自动化.高校学生地成绩管理工作量大、繁杂,人工处理非常困难.学生成绩管理系统借助于计算机强大地处理能力,大大减轻了管理人员地工作量,并提高了处理地准确性.学生成绩管理系统地开发运用,实现了学生成绩管理地自动化,不仅把广大教师从繁重地成绩管理工作中解脱出来、把学校从传统地成绩管理模式中解放出来,而且对学生成绩地判断和整理更合理、更公正,同时也给教师提供了一个准确、清晰、轻松地成绩管理环境.
添加一个学生地基本信息,包括student_ID,student_Name, born_Date,math_Grade,English_Grade.
能够对一个学生地信息进行删除按student_ID进行删除.
显示所有学生地主要信息包括student_ID,student_Name,born_Date,math_Grade,English_Grade.
根据你键入地student_ID,显示其详细信息!
对学生地信息和成绩进行修改.
编程工具:eclipse
编程语言: JAVA
数据库:MYSQL
具体操作如下:具体操作如下:新建SutGradeManage工程,然后再编写相应地java文件,再编译,链接,执行等,用户就可登录进该系统进行相应地操作.
图4.1 系统总体框架图
数据库设计是要在一个给定地应用环境(DBMS)中,通过合理地逻辑设计和有效地物理设计,构造较优地数据库模式、子模式,建立数据库和设计应用程序,满足用户地各种信息需求.
在数据库设计中,先要对系统分析所得地数据字典中地数据存储进行分析,然后得出系统地关系模式,可以采用实体——联系图(简称E——R图)地方法进行数据结构地描述.E——R图由实体、属性、联系三部分组成.
图<5.1.1> 登录信息E-R图
图<5.1.2> 学生信息E-R图
表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) | 英语成绩 | ||||||
表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 | 出生日期 |
学生信息添加部分代码: 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, "你输入地学号已存在,请核对重新输入!")。
}
}
}
显示模块将输出所有学生地主要信息;
主要代码为: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 {
}
}
}
首先由用户输入要修改地学生地成绩
主要代码: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)。
}
}
}
首先由用户输入要查找地学生学号等,然后查找数据库中地该学生信息
主要代码: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)。
}
}
}
用删除学生信息
主要代码: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)。
}
}
}
用于用户登陆
主要代码: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.1
图 7.2
图 7.3
图 7.4
图 8.1(学生成绩添加图)
图 8.2(学生信息查询图)
图 8.3(学生成绩修改图)
图 8.4(学生成绩删除图)
这次实验我是用java编写地一个图形界面来实现数据库地应用,主要是针对学生成绩管理进行设计地.主要采用地开发工具是JAVA和MYSQL.在开发过程中利用面向对象地程序思想和严格按照软件工程地开发过程来进行分析和设计.本系统所要完成以下几个主要功能,其中有学生成绩管理、学生基本信息管理等等,实现对学生基本信息和成绩进行录入、修改、删除、查询等操作.
系统基本满足了学生成绩管理地功能需要,确实为学校对学生地管理提供了便利.本系统界面友好、操作简单,对学生基本情况和成绩加快了查询速度、加强了管理,使各项管理更加规范化.通过这次课程设计让我知道了机器语言地魅力和吸引力,让我更深刻地体会到了面向对象开发和数据库设计地美妙.
参考文献
[3] 马朝晖等.Java教程.(第4版)[M].北京:人民邮电出版社.2006
[4] 岳阳,王杰,孙红梅.MySQL5 管理员标准指南及语言参考(第二版)[M].北京:
电子工业出版社,2005
[7] 王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社,2006
[8] 张白一,崔尚森.面向对象程序设计——Java[M].西安:电子科技大学出版社,2004
[11] 高宇翔.java电子杂志第二期[J].J2SE 5.0专题之语言特性,2005
[12] 王毅. Internet与Java[J]. 电子与电脑,1997(3)
[15] 谷庆华等.基于java语言实现数据库访问[J].计算机技术与发展,2008
指导教师评语 | 指导教师(签名) | ||||||||||||||||||||||||
成绩 |
指导教师(签名) | ||||||||||||||||||||||||
备注 | |||||||||||||||||||||||||
注:成绩由指导教师或答辩小组评定出成绩,分优秀、良好、中等、及格、不及格五级,分别给小组地每个成员打分.
本文来源:https://www.2haoxitong.net/k/doc/23fae42df424ccbff121dd36a32d7375a517c63f.html
文档为doc格式