项目实战:PB/ORACLE:C/S架构 学生成绩教务管理系统
编辑环境:win10_x64 /VS2015/ Oracle 11g/PB/PD
项目:C/S架构 学生成绩教务管理系统
项目简介:学生可以选课,查看考试地点时间,教师等,老师可以登录成绩,提交管理员,不可修改,可以教师排课,学生选课等多个功能,和数据库备份等
其他:纯手工,原创,手敲代码,初次写一个稍微完整一点的项目,略有不太完美,但是总体来说,还是不错的哦,最后附上完整项目源码源码、和文档分析。
项目运行效果
=====================================================================
=====================================================================
项目思路分析:
=====================================================================
根据学生选课排课--成绩查询管理的需要,学生成绩管理系统从功能上共分几大模块,其结构如图
① 系统管理员模块:可以进行管理员、教师、学生等不同身份选择性的登陆,对用户权限进行限制,方便不同级别用户工作
② 学生管理模块:该模块主要功能是完成查看学生成绩信息、打印成绩报表。修改个人信息、查看公告和选课学习课程等功能。
③ 教师管理模块:该模块主要功能是审核学生的选课,查看,学生成绩、选课、当有挂科时候,发布公告通知、以及对相关学生的成绩的录入合提交给管理员管理功能。
④ 数据库管理员模块:该模块主要功能是查看、审核学生的选课情况、发布公告通知学生和教师,以及删除过于陈旧、误发布的公告。新增加、删除、修改、查询学生教师用户的个人信息。审核教师提交的学生成绩。还附带开发出完成数据的备份、,误删除以及恢复功能。
(2)数据库设计
在学生成绩管理数据库中需建立至少7个必要的数据表:学生信息表(student)、教师信息表(teacher)、管理员信息表(Administrator)、课程表(course)、选课表(curricula_variable)、成绩表(score)、公告发布表(announcement)。
(3)系统实现
对系管理员而言,进入登陆界面后,可直接调用数据库中数据修改、查询本系统现有学生成绩信息等;对教师而言,进入登陆界面后,不仅有对教师自身信息能够得取得相关的权限外,可对全校学生成绩修改、查询,统计补考人员,打印成绩单等的操作。对于学生而言,可以实现自己的选课功能,成绩查询和预览、打印成绩单,查看公告。
=====================================================================
项目主要源码部分:
=====================================================================
//教师登录界面
user1=sle_1.text
psw1=sle_2.text
username=user1
…
if rb_2.checked=true then
select count(*) into :count1 from teachers where tno= :user1;
select count(*) into :count2 from teachers where tno=:user1 and tpsw=:psw1 ;
if count2=1 then
open(w_teacher_main)
close(parent)
else
if count1=1 then
messagebox("提示","密码错误!")
count0=count0+1
if count0=3 then
messagebox("提示","错误三次!")
close(parent)
else
end if
else
messagebox("提示","用户名不存在!")
count0=count0+1
if count0=3 then
messagebox("提示","错误三次!")
close(parent)
else
end if
end if
end if
//课程信息管理:上传课程信息、检查课程信息
dw_1.dataobject="d_student_view_course"
dw_1.settransobject(sqlca)
dw_1.insertrow(0)
dw_1.retrieve("%")
dw_1.settransobject(sqlca)
dw_1.getrow()
dw_1.retrieve("%"+sle_1.text+"%")
integer i
messagebox("提示","课程信息上传成功!")
dw_1.update()
commit;
i=dw_1.insertrow(0)
dw_1.scrolltorow(i)
dw_1.settransobject(sqlca)
dw_1.insertrow(0)
close(parent)
//录入学生成绩、查看学生成绩、打印学生成绩
dw_1.settransobject(sqlca)
dw_1.insertrow(0)
integer i
messagebox("提示","成绩录入成功!")
dw_1.update()
commit;
i=dw_1.insertrow(0)
dw_1.scrolltorow(i)
close(parent)
dw_1.dataobject="d_select_chengji"
dw_1.settransobject(sqlca)
//dw_1.insertrow(0)
dw_1.retrieve("%")
dw_1.retrieve("%"+sle_1.text+"%")
dw_1.settransobject(sqlca)
dw_1.getrow()
dw_1.dataobject="d_select_chengji"
dw_1.settransobject(sqlca)
dw_1.retrieve("%")
dw_1.object.datawindow.print.preview=true
dw_1.print()
//个人信息管理:密码修改、查看个人信息
string psw1
username=sle_1.text
select tpsw into :psw1 from teachers where tno=:username;
if sle_2.text=psw1 then
if sle_3.text=sle_4.text then
update teachers set tpsw=:sle_3.text where tno=:username;
messagebox("提示","密码修改成功")
close(parent)
else
messagebox("提示","两次密码不一致")
end if
else
messagebox("提示","原密码错误")
end if
dw_1.settransobject(sqlca)
dw_1.retrieve(username)
dw_1.settransobject(sqlca)
dw_1.getrow()
//公告管理模块:发布、查看、删除、打印公告
dw_1.settransobject(sqlca)
dw_1.insertrow(0)
integer i
messagebox("提示","公告插入成功!")
dw_1.update()
commit;
i=dw_1.insertrow(0)
dw_1.scrolltorow(i)
dw_1.settransobject(sqlca)
dw_1.insertrow(0)
dw_1.dataobject="d_gonggao1"
dw_1.settransobject(sqlca)
dw_1.retrieve("%")
dw_1.retrieve("%"+sle_1.text+"%")
dw_1.deleterow(dw_1.getrow())
dw_1.update()
=====================================================================
项目源码:
=====================================================================
源码链接:链接:https://pan.baidu.com/s/1vKZAmWLJW5ccM7KOp8_Uuw 密码:wkv5