闵二分校学生成绩管理系统论文文档格式.doc
- 文档编号:4031965
- 上传时间:2023-05-02
- 格式:DOC
- 页数:13
- 大小:179.50KB
闵二分校学生成绩管理系统论文文档格式.doc
《闵二分校学生成绩管理系统论文文档格式.doc》由会员分享,可在线阅读,更多相关《闵二分校学生成绩管理系统论文文档格式.doc(13页珍藏版)》请在冰点文库上搜索。
在当今信息时代这种传统的管理方法必然被以计算机为基础的信息管理系统所代替。
为了提高成绩管理的效率,我选择了学生成绩管理系统作为毕业设计的课题。
该软件用java语言编写,用Access数据库作为后台的数据库进行信息的存储,用SQL语句完成学生信息、成绩信息、课程信息和学期信息的添加,查询,修改,删除的操作。
用ODBC驱动实现前台Java与后台Access数据库的连接。
学生成绩管理系统
学生成绩管理系统是一项目的性、计划性、适用性、创造性和科学性很强的工作。
学生成绩工作关系到高校教学秩序的稳定。
随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。
提高教务管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
同时,运用先进的信息技术,开发高校综合成绩管理信息系统,是深化教务体制改革的有利措施。
待机界面模块
登录界面模块
主界面模块
课程信息模块
成绩信息模块
学生信息模块
学期信息模块
第二部分、数据库信息描述
我们采用了Access创建了学生成绩信息管理数据库,创建了4个表,如下图所示:
学生信息
班级
地址
电话
09591101
陈松鹤
计算机1班
北京丰台
89959521
09591102
贾珉
北京昌平
61922549
09591103
吕红光
北京平谷
89980120
09591104
梁丹宇
北京朝阳
66775238
61928668
09591106
赵阳
52531423
09591107
金玉龙
北京通州
52339876
09591108
闫旭
北京东城
66235432
北京大兴
86271120
09591110
高丽飞
北京西城
67922467
学期信息
学期
4
成绩信息
英语成绩
nasp成绩
window成绩
java成绩
05951106
72
75
82
68
99
70
80
85
90
86
79
83
67
81
62
55
60
61
65
89
73
课程信息
课程名称
任教教师
课时
教学模式
英语
杨春娇
64
课堂教学
nasp
田红
上机教学
windows
雷东升
32
java
高戈
课堂上机教学
第三部分、自己承担部分的实验报告
1.数据库的制作
使用Access创建了数据库,数据库中包括4个表,学生信息,成绩信息,课程信息,学期信息
2.学生信息界面的设计
(1)需求分析:
管理所有学生的基本信息,包括增加,修改,删除,查询等;
可以根据各种条件查询出需要的信息
(2)结构功能
增加
修改
删除
查询
(3)功能流程及工作描述
①增加学生信息:
打开学生信息界面,系统操作人员输入相关的信息(学号,姓名,班级,地址,电话)在数据库中添加了相关的数据
②修改学生信息:
根据学生学号查询出该学生的相关信息,修改相关条目后保存在数据库中
③删除学生信息:
根据学生学号查询出该学生的相关信息,确定删除后,在数据库中删除该信息
④查询学生信息:
根据学生的学号,或姓名的输入,查询出该学生在学生信息表中的所有信息,包括(学号,姓名,班级,地址,电话)
(4)部分源代码
①学生信息主界面部分代码
importjava.awt.Color.*;
importjavax.swing.*;
importjava.sql.*;
publicclassDoc_Model1extendsJFrame{
privatestaticfinallongserialVersionUID=1L;
JFramef1;
JMenumain_Menu0,main_Menu1,main_Menu2,main_Menu3;
JMenuBarmbar;
JSplitPaneoutter,inner;
JTabletable1;
//为了访问数据库添加
Connectioncon=null;
Statementsql=null;
ResultSetrs=null;
//这里是用一个二维数据来临时组装数据,为下面表格显示记录做准备,
//请同学们改成从数据库里取得数据后再存放到二维数组里面。
//String[][]rowData={{"
1"
"
张三"
男"
回"
},{"
2"
李四"
女"
汉"
3"
王五"
4"
李子"
5"
花花"
苗"
6"
小明"
7"
小强"
羌"
}};
Object[][]rowData;
//这里是二维表格的表头信息,请同学们改成从数据库表格里取出来
//String[]colName={"
班级编号"
学号"
姓名"
民族"
};
Object[]colName={"
班级"
地址"
电话"
voidinit(){
f1=newJFrame("
学生信息"
);
outter=newJSplitPane(JSplitPane.VERTICAL_SPLIT);
inner=newJSplitPane(JSplitPane.HORIZONTAL_SPLIT,true);
main_Menu0=newJMenu("
学生信息查询"
main_Menu1=newJMenu("
学生信息修改"
main_Menu2=newJMenu("
学生信息添加"
main_Menu3=newJMenu("
学生信息删除"
mbar=newJMenuBar();
mbar.add(main_Menu0);
mbar.add(main_Menu1);
mbar.add(main_Menu2);
mbar.add(main_Menu3);
outter.setTopComponent(mbar);
outter.setBottomComponent(inner);
outter.setOneTouchExpandable(true);
///////////////////注册JDBC驱动程序///////////////////////////////
try{
Class.forName("
sun.jdbc.odbc.JdbcOdbcDriver"
}catch(ClassNotFoundExceptione)
{
System.out.println("
错误为"
+e.getMessage());
}
////////////////////////////////////////////////////////////////////////
//////建立连接访问控制数据库///////////////////////
try{
con=DriverManager.getConnection("
jdbc:
odbc:
Exe"
"
sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.ONCUR_READ_ONLY);
rs=sql.executeQuery("
Select学号,姓名,班级,地址,电话from学生信息orderby学号"
rs.last();
intnumber=rs.getRow();
rowData=newObject[number][5];
rs.beforeFirst();
intn=0;
while(rs.next())
{
rowData[n][0]=rs.getString
(1);
rowData[n][1]=rs.getString
(2);
rowData[n][2]=rs.getString(3);
rowData[n][3]=rs.getString(4);
rowData[n][4]=rs.getString(5);
n++;
}
rs.close();
sql.close();
con.close();
}catch(SQLExceptione1)
{
System.out.println("
+e1.getMessage());
}
//操作结束,关闭所有与数据库相关的连接,释放资源
/////////////////////////////////////////////////////
table1=newJTable(rowData,colName);
//table1.setSelectionBackground(Color.LIGHT_GRAY);
table1.setShowHorizontalLines(false);
inner.setRightComponent(getContentPane().add(newJScrollPane(table1)));
f1.setJMenuBar(mbar);
f1.getContentPane().add(outter);
f1.setSize(500,500);
f1.setLocation(200,200);
f1.setResizable(false);
f1.setVisible(true);
}
publicstaticvoidmain(String[]args){
Doc_Model1tree=newDoc_Model1();
tree.init();
}
}
②学生信息添加部分代码
importjava.awt.event.*;
importjava.awt.*;
publicclassAddStuInfoextendsStuInfo{
StuBeangetS学号=newStuBean();
publicAddStuInfo(){
this.setTitle("
添加学生信息"
this.setResizable(false);
学号.setEditable(false);
学号.setText("
+get学号.getStuId());
姓名.setEditable(true);
班级.setEditable(true);
地址.setEditable(true);
电话.setEditable(true);
DimensionscreenSize=
Toolkit.getDefaultToolkit().getScreenSize();
this.setLocation((screenSize.width-400)/2,(screenSize.height-300)/2+45);
publicvoiddownInit(){
addInfo.setText("
增加"
addInfo.setFont(newFont("
Dialog"
0,12));
downPanel.add(addInfo);
clearInfo.setText("
清空"
clearInfo.setFont(newFont("
downPanel.add(clearInfo);
exitInfo.setText("
退出"
exitInfo.setFont(newFont("
downPanel.add(exitInfo);
addInfo.addActionListener(this);
clearInfo.addActionListener(this);
exitInfo.addActionListener(this);
this.contentPane.add(downPanel,BorderLayout.SOUTH);
publicvoidactionPerformed(ActionEvente){
Objectobj=e.getSource();
if(obj==exitInfo){//退出
this.dispose();
elseif(obj==addInfo){//增加
s学号.setEnabled(false);
s姓名.setEnabled(false);
s班级.setEnabled(false);
s地址.setEnabled(false);
s电话.setEnabled(false);
addInfo.setEnabled(false);
clearInfo.setEnabled(false);
exitInfo.setEnabled(false);
StuBeanaddStu=newStuBean();
addStu.stuAdd(姓名.getText(),班级.getText(),地址.getText(),电话.getText());
AddStuInfoasi=newAddStuInfo();
asi.downInit();
asi.pack();
asi.setVisible(true);
elseif(obj==clearInfo){//清空
setNull();
}}
(5)Java数据库连接问题
①创建数据源
②JDBC-ODBC桥接器
a.建立JDBC-ODBC桥接器
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);
建立桥接器时可能会出现异常,因此,要捕获这个异常
Try{Class.forName(“sun.jbdc.odbc.JdbcOdbcDriver”);
}catch(ClassNotFoundExceptione){}
b.连接到数据库
Connectioncon=DriveManager.getConnection(“jdbc:
数据源名字”,“loginname”,”password”);
如果数据源没有设置loginname和password,则形式如下
数据源名字”,“”,””);
c.向数据库发送SQL语句
Try{Statementsql=con.createStatement();
}catch(SQLExceptione){}
c.处理查询结果
ResultSetrs=sql.executeQuery(“SELECT*FROM学生信息”)
(6)遇到的问题以及没有实现的功能
①学生信息添加窗体的代码中StuInfo类没有指定的路径,没有打包,不能继承,所以整个窗体都不能实现,后面的修改,删除也是此问题,不能运行
第四部分、心得体会
本次实训我们想要做出一个完整的学生成绩信息管理系统,主要包括学生信息的增删改查,课程信息的增删改查,成绩信息的增删改查,学期信息的增删改查,我自己的部分中运行出来的就只有学生信息的主界面,增删改查的功能不能完全实现,由于代码中的StuInfo类没有指定的路径,没有打包,不能继承,所以不能运行,在窗体和数据库连接时出现了问题,数据源的名应和Connectioncon=DriveManager.getConnection(“jdbc:
中数据源名相同,否则运行不出来,还有就是学生信息主界面的菜单栏中跳转到增删改查的窗体中在以后的学习中应加强这方面的学习来弥补自己在这方面的不足,这次实训还学会了界面之间的跳转功能,一个是鼠标单击事件,还有一个是按钮单击事件,事件源,接口,监视器很重要
通过此次实训,体会到了团队合作很重要,一个大的系统自己一个人的力量是不够的,把系统的各个模块分配给不同的人,组长组员之间的协调很重要,java编程的面很广泛,以后会有很多领域应用到这门语言,在以后的生活中还应加强学习,学会举一反三很重要,我们的系统也是根据老师平时上课讲的基础改编的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 分校 学生 成绩管理系统 论文