基于Java与SQL数据库技术的学生成绩管理系统 1毕业设计论文.docx
《基于Java与SQL数据库技术的学生成绩管理系统 1毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于Java与SQL数据库技术的学生成绩管理系统 1毕业设计论文.docx(33页珍藏版)》请在冰豆网上搜索。
![基于Java与SQL数据库技术的学生成绩管理系统 1毕业设计论文.docx](https://file1.bdocx.com/fileroot1/2023-1/21/cd0ee5d0-43be-4eb6-a447-2e314631aa80/cd0ee5d0-43be-4eb6-a447-2e314631aa801.gif)
基于Java与SQL数据库技术的学生成绩管理系统1毕业设计论文
设计总说明--------------------------------------------------------------II
1.课程设计目的与需求分析------------------------------------------------3
1.1课程设计目的------------------------------------------------------3
1.2需求分析----------------------------------------------------------3
2.设计思路与主功能设计--------------------------------------------------4
2.1设计思路----------------------------------------------------------4
2.1.1开发环境和软件------------------------------------------------4
2.1.2数据库表结构--------------------------------------------------4
2.1.3程序设计图----------------------------------------------------4
2.2功能设计与介绍----------------------------------------------------5
3.具体功能的介绍和数据测试----------------------------------------------5
3.1登录界面----------------------------------------------------------5
3.2主功能界面--------------------------------------------------------7
3.2.1查询----------------------------------------------------------7
3.2.2添加----------------------------------------------------------9
3.2.3修改---------------------------------------------------------10
3.2.4删除---------------------------------------------------------12
3.2.5关于---------------------------------------------------------13
3.2.6退出---------------------------------------------------------13
4.课程设计总结---------------------------------------------------------14
5.附录(程度代码)-------------------------------------------------------15
设计总说明
1.设计概况
名称:
学生学籍管理系统
用途:
学校等机构
功能:
实现对学生学籍信息的管理与维护等功能
2.设计说明
学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。
该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。
用ODBC驱动实现前台Java与后台SQL数据库的连接。
Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。
SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。
系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。
该系统实现的大致功能:
1.管理员登陆界面。
该界面可以输入管理员号,登陆密码。
用户通过验证通过后方可进入管理系统。
一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。
2.查询学生信息。
可以选择由用户选择“显示系统中当前的所有学生信息”。
也可以选择按照“某一个学号查询该学号的学生信息”。
查询到的信息会在窗口中依次显示出来。
3.添加学生信息。
可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。
完成新纪录的添加。
4.修改学生信息。
可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据。
完成对学生记录的修改。
5.删除学生记录。
可以根据输入的“学号”或者”姓名”进行删除的操作。
3.本系统只实现了基本操作功能,,对于添加管理员,修改登录密码和数据库信息备份等功能并未提供,便利性和安全性仍有不足,使用过程中造成的不便还请谅解!
学生学籍管理系统
信管1081班,200811622124,吴晓阳
信管1081班,200811622104,陈秀丽
指导教师:
陈亮
课程设计目的与需求分析
1.1课程设计目的
本课程设计作为《Java语言高级程序设计》课程的延伸,在学生完成了《Java语言高级程序设计》课程的理论知识学习后,希望通过本次课程设计的实践操作,能够让学生懂得Java的各种相关知识的使用,真正的提高学生独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。
1.2需求分析
在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。
而且效率也是很低的。
所以如何自动高效地管理信息是这些年来许多人所研究的。
随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。
我们使用电脑的高效率才处理数据信息成为可能。
学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。
友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。
学生学籍管理系统,以SQL数据库作为后台信息存储,Java作为前台系统的语言。
提供了对学生信息添加,查询,修改,删除的功能。
实现了最基本的信息管理。
2设计思路与主功能设计
2.1设计思路
2.1.1开发环境和软件
本学籍采用Java语言编写前台程序,后台采用SQLServer2005软件管理数据库,调试和运行皆由EclipseSDK3.5.2完成。
2.1.2SQL数据库表结构
2.1.3程序设计图
删除
修改
添加
查询
登录
退出
失败
成功
登录验证
学生学籍管理系统
2.2功能设计与介绍
1)显示已有学生信息
2)添加新的学生信息
3)修改已有学生信息
4)删除已有学生信息
5)关于学籍管理系统
6)退出学籍管理系统
3具体功能的介绍和数据测试
3.1登录界面
登录界面输入“管理员号”和“登录密码”,点击“确定”,通过验证则进入主功能菜单。
如果输入错误则会有相应的警告!
1.当输入了一个未存在的管理员号时,会出现下图!
2.当输入一个错误的密码时,会出现下图!
当前系统有两个管理员账号:
管理员号:
200811622124密码:
123456
管理员号:
200811622104密码:
123456
3.2主功能界面
3.2.1查询
点击
,则弹出下面的选择菜单。
1)选择“显示所有学生记录”时,在控制台会显示当前系统中所有的学生记录
2)选择“查询某个学生记录”时,会弹出一下窗口要求用户输入“学号”。
当系统中有要查询的学号记录时,系统会显示查询到的详细信息。
如果没有查询到,则显示:
3.2.2添加
点击
,会弹出输入框,如下图:
在各个数据框中输入对应的信息(学号不能为空,且学号不能与已存在的记录重复),如果输入的新纪录的学号已经存在则:
如果添加的新纪录学号为空,则
如果输入的各项数据正常时,则点击“添加”按钮后,
学生记录添加成功!
!
!
3.2.3修改
点击
,进行“修改”的操作,弹出下面的选择菜单。
1)选择按“学号”修改:
将相应的数据填入输入框中,如果修改的记录不存在,则提示:
如果数据正确且记录存在,则显示记录修改成功:
2)按“姓名”修改,同上…….
3.2.4删除
点击
,会显示下面的菜单。
1)选择按“学号”删除,出现以下窗口。
在弹出的窗口输入你要删除的记录的学号。
如果要删除的记录不存在,则显示
如果输入的的学号存在,则删除成功。
3.2.5关于
点击
,显示本学生管理系统的作者相关信息。
3.2.6退出
点击
,退出本学籍管理系统。
4课程设计总结
课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.本次课程设计虽然很辛苦,实在是受益匪浅。
本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。
理论和实践的相结合是学习最有效的方法。
在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
附录(程序代码)
importjavax.swing.*;
importjava.awt.BorderLayout;
importjava.awt.Container;
importjava.awt.FlowLayout;
importjava.awt.event.ActionEvent;
importjava.awt.event.ActionListener;
importjava.sql.*;
classDataBase{//DataBase类
publicvoidAdd(Stringxh,Stringxm,Stringxb,Stringxy,Stringbj,Stringjg)throwsSQLException{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionc=DriverManager.getConnection("jdbc:
odbc:
studentdatabase");
Statements=c.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSetr=s.executeQuery("select*from学籍管理系统where学号='"+xh+"'");
r.last();
if(r.getRow()==1)
{JOptionPane.showMessageDialog(null,"该学号的学生信息已存在");}
elseif(xh.equals("")){JOptionPane.showMessageDialog(null,"学号不能为空");}
else{s.executeUpdate("insertinto学籍管理系统values('"+xh+"','"+xm+"','"+xb+"','"+xy+"','"+bj+"','"+jg+"')");
s.close();
c.close();
JOptionPane.showMessageDialog(null,""+"学号:
"+xh+"
"
+"姓名:
"+xm+"
"
+"性别:
"+xb+"
"
+"学院:
"+xy+"
"
+"班级:
"+bj+"
"
+"籍贯:
"+jg+"
学生记录添加成功!
");}
}
catch(Exceptione)
{JOptionPane.showMessageDialog(null,"数据添加异常!
");}
}
PublicvoidDisplayAll(ResultSetr){
try{
r.last();
System.out.println("数据库表共有"+r.getRow()+"行记录");r.beforeFirst();
while(r.next())
{
System.out.print("第"+r.getRow()+"行记录:
");
System.out.print("学号为:
"+r.getString("学号"));
System.out.print("姓名为:
"+r.getString("姓名"));
System.out.print("性别为:
"+r.getString("性别"));
System.out.print("学院为:
"+r.getString("学院"));
System.out.print("班级为:
"+r.getString("班级"));
System.out.println("籍贯为:
"+r.getString("籍贯"));
}
}
catch(Exceptione)
{}
}
publicvoidDisplayOne(Stringstr22)throwsException
{
try
{
Connectionc=DriverManager.getConnection("jdbc:
odbc:
studentdatabase");
Statements=c.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSetr=s.executeQuery("select*from学籍管理系统where学号='"+str22+"'");
r.last();
intcc=r.getRow();
if(cc==0)
{JOptionPane.showMessageDialog(null,"未查询到相关信息!
");}
else{r.beforeFirst();
while(r.nex
{JOptionPane.showMessageDialog(null,""+"学号:
"+r.getString
("学号")+"
"
+"姓名:
"+r.getString("姓名")+"
"
+"性别:
"+r.getString("性别")+"
"
+"学院:
"+r.getString("学院")+"
"
+"班级:
"+r.getString("班级")+"
"
+"籍贯:
"+r.getString("籍贯")+"
已查询到相关记录!
");}
}}
catch(Exceptione)
{}
}
publicvoidDeleteXh(Stringstr11){
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionc=DriverManager.getConnection("jdbc:
odbc:
studentdatabase");
Statements=c.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSetr=s.executeQuery("select*from学籍管理系统where学号='"+str11+"'");
r.last();
if(r.getRow()==1){s.executeUpdate("deletefrom学籍管理系统where学号='"+str11+"'");
JOptionPane.showMessageDialog(null,"学生记录删除成功!
");
}
else{JOptionPane.showMessageDialog(null,"学籍系统中并无相关记录!
");}}
catch(Exceptione)
{}
}
publicvoidDeleteXm(Stringstr13)
{
try
{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionc=DriverManager.getConnection("jdbc:
odbc:
studentdatabase");
Statements=c.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSetr=s.executeQuery("select*from学籍管理系统where姓名='"+str13+"'");
r.last();
if(r.getRow()==1)
{s.executeUpdate("deletefrom学籍管理系统where姓名='"+str13+"'");
JOptionPane.showMessageDialog(null,"学生记录删除成功!
");}else{JOptionPane.showMessageDialog(null,"学籍系统中并无相关记录!
");}}
catch(Exceptione)
{}
}
publicvoidUpdateXh(Stringxg,Stringstr15,Stringstr16)
{
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionc=DriverManager.getConnection("jdbc:
odbc:
studentdatabase");
Statements=c.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSetr=s.executeQuery("select*from学籍管理系统where学号='"+xg+"'");
r.last();
if(r.getRow()==1)
{s.executeUpdate("update学籍管理系统set"+str15+"='"+str16+"'where学号='"+xg+"'");
JOptionPane.showMessageDialog(null,"学生记录修改成功!
");}
else{
JOptionPane.showMessageDialog(null,"学籍系统中并无相关记录!
");
};
}
catch(Exceptione)
{
JOptionPane.showMessageDialog(null,"学籍系统中并无相关记录!
");
}}
publicvoidUpdateXm(Stringstr18,Stringstr19,Stringstr20){
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connectionc=DriverManager.getConnection("jdbc:
odbc:
studentdatabase");
Statements=c.createStatement(
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
ResultSetr=s.executeQuery("select*from学籍管理系统where姓名='"+str18+"'");
r.last();
if(r.getRow()==1)
{s.executeUpdate("update学籍管理系统set"+str19+"='"+str20+"'where姓名='"+str18+"'");//直接执行SQL语句修改
JOptionPane.showMessageDialog(null,"学生记录修改成功!
");
}
else{
JOptionPane.showMessageDialog(null,"学籍系统中并无相关记录!
");
};}
catch(Exceptione)
{JOptionPane.showMessageDialog(null,"学籍系统中并无相关记录!
");}
}
}
classJ_ActionListener1extend