PB课程设计高校学生管理信息系统.docx

上传人:b****5 文档编号:27888513 上传时间:2023-07-06 格式:DOCX 页数:21 大小:536.42KB
下载 相关 举报
PB课程设计高校学生管理信息系统.docx_第1页
第1页 / 共21页
PB课程设计高校学生管理信息系统.docx_第2页
第2页 / 共21页
PB课程设计高校学生管理信息系统.docx_第3页
第3页 / 共21页
PB课程设计高校学生管理信息系统.docx_第4页
第4页 / 共21页
PB课程设计高校学生管理信息系统.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

PB课程设计高校学生管理信息系统.docx

《PB课程设计高校学生管理信息系统.docx》由会员分享,可在线阅读,更多相关《PB课程设计高校学生管理信息系统.docx(21页珍藏版)》请在冰豆网上搜索。

PB课程设计高校学生管理信息系统.docx

PB课程设计高校学生管理信息系统

序号:

39

 

山东理工大学计算机学院

PowerBuilder9.0

(大作业)

 

班级计科0504

姓名张琳琳

学号0512208425

指导教师孙勇

 

二○○八年一月九日

 

高校学生管理信息系统

《详细设计说明书》

1.引言:

1.1.编写目的

该文档是专门为老师评卷使用。

1.2.背景

在大学的学习生活中,各种各样的课程名目繁多,而每一学期,我们都要从这些课程中选出我们所需要的,如果单靠手工工作的话,这无疑是一项相当繁重的任务,不仅给学校增加了一些不必要的负担,同时,也给同学们带来了很大的不便。

由此,大学生选课系统便应运而生,这也是计算机在现代生活的一个新的应用,适应了时代的潮流。

1.3.定义

大学生选课系统,顾名思义,就是用于大学生选修各门课程的计算机系统,它是用计算机替代手工工作的一个范例,体现了信息化时代作为时代先锋的大学在计算机应用方面的独到之处,它方便,快捷,易于操作,实用性强,效率高,既节省了成本,也方便了老师同学,是我们学校生活必备的一个简易实用软件。

2.部门信息维护frmDepartment

2.1.功能

1管理员功能:

对学生选课信息进行增加、修改、删除,查询等操作.并可以添加新的管理员

2学生(普通用户):

对选课信息进行查询,并可以进行选课操作

2.2.时间

开始时间2007.12.10

最后修改时间2007.1.10

2.3.主界面菜单为:

查询学生信息,查询课程信息,录入信息,修改信息,删除,查询选课,选课系统,管理用户组,

以下为系统基本框架图及界面:

2.4.输入项

1.管理员帐号,管理员密码,

2.,院系,院长

3.学号,姓名,年龄,性别,系别,院系,

4.课程号,课程名,先行课,学分

5.通过键盘输入数据

6.涉及到的表:

stulogin,Masterlogin,yuanxi,stu,course,xuanke,teacher。

2.5.输出项

1.将数据保存到数据库中

2.涉及的表:

stulogin。

Masterlogin。

yuanxi。

stu。

course。

xuanke。

teacher。

 

2.6.主要算法

此程序大部分都是用具体代码实现,有相似的地方,我是用粘贴来实现的,所以程序中较少实用各种算法,缺点就是代码比较多,比较繁琐,优点就是在代码的各个实现地方能够确切的看出代码的思想以及具体内容,对为一个初学者,我认为这样可以使我加深对具体代码的理解,增加对代码的感知度

2.7.限制条件

功能实现比较少,离实际需要的还有一段距离,而且,页面设计也不是很合理,各部分的关系处理的不是很条理。

功能上,在修改学生、教师、院系信息时,需要将改动的那个选项完全删除,然后写上改后的资料,否则会出现只能删去某些字,而不能添加字的现象。

2.8.尚未解决的问题

功能上,在修改学生、教师、院系信息时,需要将改动的那个选项完全删除,然后写上改后的资料,否则会出现只能删去某些字,而不能添加字的现象。

功能等,例如查询,都能够实现,但是数据检索算法简单,时间复杂性高,在修改系统、提升系统的性能之前,没有太大的实用价值。

3.程序设计说明

open(splash)//打开欢迎界面

SQLCA.DBMS="ODBC"

SQLCA.AutoCommit=False

SQLCA.DBParm="ConnectString='DSN=db_stu;UID=sa;PWD=00000000'"

连接数据库

 

connectusingsqlca;

sleep

(2)//等待片刻

close(splash)

open(w_login)//打开主界面

endevent

*******************************管理员登陆验证代码

stringa

select密码

into:

a

frommasterlogin//从数据库选择帐号,密码信息

******************以下是验证部分

where密码=:

sle_2.textand

帐号=:

sle_1.text

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("Hint","密码或用户名错误!

")

sle_2.text=''

else

open(w_mainwin)//通过验证,则打开主窗口

user=sle_1.text

close(parent)

endif

********************************学生登陆验证

stringa

stringb

select*

into:

a,:

b

fromstulogin//从数据库取出帐号,密码信息,以下是验证代码

where密码=:

sle_2.textand

帐号=:

sle_1.text

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("Hint","密码或用户名错误!

")

sle_2.text=''

else

open(w_stumainwin)//通过验证,则打开主窗口

user=sle_1.text

close(parent)

endif

*****************************************************8显示选课表的内容

dw_1.dataobject="dw_xuanke"

dw_1.SetTransObject(sqlca)

dw_1.retrieve()

dw_1.dataobject="dw_course"

dw_1.SetTransObject(sqlca)

dw_1.setsqlselect("select*fromcourse")

dw_1.retrieve()

按学号查询

dw_1.setfilter("xuanke_学号='"+sle_1.text+"'")

dw_1.retrieve()

sle_1.text=""

******************************************按课程号查询

dw_1.setfilter("xuanke_课程号='"+sle_2.text+"'")

dw_1.retrieve()

sle_2.text=""

**************************************************保存对密码的修改

stringstr1,str2,confirm

str1=sle_1.text

str2=sle_2.text//两个输入框

ifstr1=str2then//验证两次输入密码

updatestulogin

set密码=:

str1

where帐号=:

user

usingsqlca;

MessageBox("提示","密码修改成功,您的新密码是"+str1)

sle_1.text=""

sle_2.text=""

else

MessageBox("错误","两次输入的密码不一致!

")

sle_1.text=""

sle_2.text=""

endif

*************************************************个人信息录入

stringstr1,str2,str3,str4,str5,str6

//6个文本输入框

select*

into:

str1,:

str2,:

str3,:

str4,:

str5,:

str6

fromstu

where学号=:

user

usingsqlca;

sle_1.text=str2

sle_2.text=str3

sle_3.text=str4

sle_4.text=str5

sle_5.text=str6

*************************************************对信息修给的验证与保存

//因为存在主码约束,不能轻易删除,所以只能由update更新

stringstr1,str2,str3,str4,str5,str6,confirm

str1=sle_1.text

str2=sle_2.text

str3=sle_3.text

str4=sle_4.text

str5=sle_5.text

intage

age=Integer(str2)

if5

ifage<100then

select系别

into:

confirm

fromyuanxi

where系别=:

sle_4.text

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("错误","系别填写错误!

")//系别验证部分

sle_4.text=str4

else

select院系

into:

confirm

fromyuanxi

where院系=:

sle_5.text

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("错误","院系填写错误!

")//院系验证部分

sle_5.text=str5

else

updatestuset

姓名=:

str1,

年龄=:

str2,

性别=:

str3,

系别=:

str4,

院系=:

str5

where学号=:

user

usingsqlca;

MessageBox("提示信息","个人信息修改成功!

")//验证成功,保存

sle_1.text=""

sle_2.text=""

sle_3.text=""

sle_4.text=""

sle_5.text=""

endif

endif

else

MessageBox("提示信息","年龄必须介于5-100!

")

sle_2.text=str2

endif

else

MessageBox("提示信息","年龄必须介于5-100!

")

sle_2.text=str2

endif

*************************************88删除学生信息

stringconfirm

select学号

into:

confirm

fromstu

where学号=:

sle_1.text//从数据库取出信息,以下是验证部分

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("错误","不存在学号"+sle_1.text+"对应的记录,请返回修改!

")

else

deletefromstuwhere学号=:

sle_1.text

usingsqlca;

MessageBox("提示","学号"+sle_1.text+"对应的记录删除成功!

")

sle_1.text=""

endif

*********************输入教工信息代码

stringstr1,str2,str3,str4,confirm

select教工号

into:

confirm

fromteacher

where教工号=:

sle_1.text

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("错误","不存在教工号为"+str1+"的教师,请返回修改!

")

else

select*

into:

str1,:

str2,:

str3,:

str4

fromteacher

where教工号=:

sle_1.text

usingsqlca;

sle_1.text=str1

sle_2.text=str2

sle_3.text=str3

sle_4.text=str4

endif

**************************8教工信息保存

stringstr1,str2,str3,str4,confirm

str1=sle_1.text

str2=sle_2.text

str3=sle_3.text

str4=sle_4.text

select教工号

into:

confirm

fromteacher

where教工号=:

sle_1.text

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("错误","不存在教工号为"+str1+"的教师!

")

else

updateteacherset姓名=:

str2,年龄=:

str3,性别=:

str4where教工号=:

str1

usingsqlca;

MessageBox("提示","教师信息修改成功!

")

sle_1.text=""

sle_2.text=""

sle_3.text=""

sle_4.text=""

endif

********************增加删除帐号代码

stringstr1,confirm

str1=sle_1.text

select帐号

into:

confirm

fromstulogin

where帐号=:

sle_1.text

usingsqlca;

ifsqlca.sqlcode=0then

MessageBox("错误","已存在帐号"+str1+"!

")

sle_1.text=""

else

insertintostuloginvalues(:

str1,:

str1)

usingsqlca;

sle_1.text=""

sle_2.text=""

dw_1.retrieve()

endif

************删除

stringstr1,confirm

str1=sle_1.text

select帐号

into:

confirm

fromstulogin

where帐号=:

sle_1.text

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("错误","不存在此帐号,返回修改!

")

sle_1.text=""

sle_2.text=""

else

deletefromstuloginwhere帐号=:

str1

usingsqlca;

dw_1.retrieve()

sle_1.text=""

sle_2.text=""

endif

***************************确定修改密码

stringstr1,str2,confirm

str1=sle_1.text

str2=sle_2.text

select帐号

into:

confirm

fromstulogin

where帐号=:

str1

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("出错","未存在此帐号!

")

else

updatestuloginset密码=:

str2where帐号=:

str1

usingsqlca;

MessageBox("提示","修改成功")

sle_1.text=""

sle_2.text=""

dw_1.retrieve()

endif

*************************检索数据库

stringstr1,str2,str3,str4,str5,str6,confirm

str1=sle_1.text

str2=sle_2.text

str3=sle_3.text

str4=sle_4.text

str5=sle_5.text

str6=sle_6.text

select学号

into:

confirm

fromstu

where学号=:

sle_1.text

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("提示信息","数据库中未存在此记录,可以执行添加操作!

")

sle_1.text=str1

sle_2.text=str2

sle_3.text=str3

sle_4.text=str4

sle_5.text=str5

sle_6.text=str6

else

MessageBox("提示信息","数据库已存在该记录!

")

endif

****************添加学生详细信息

stringstr1,str2,str3,str4,str5,str6,con1,con2,con3

str1=sle_1.text

str2=sle_2.text

str3=sle_3.text

str4=sle_4.text

str5=sle_5.text

str6=sle_6.text

intage

age=Integer(str3)

if5

ifage<100then

select学号

into:

con1

fromstu

where学号=:

sle_1.text

usingsqlca;

ifsqlca.sqlcode=0then

MessageBox("错误","已存在学号"+str1+"对应的记录,请返回修改!

")

sle_1.text=""

else

select系别

into:

con1

fromyuanxi

where系别=:

sle_5.text

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("错误","不存在系别"+str5+"!

请返回yuanxi表首先添加该系别!

")

else

select院系

into:

con1

fromyuanxi

where院系=:

sle_6.text

usingsqlca;

ifsqlca.sqlcode=100then

MessageBox("错误","不存在院系"+str6+"!

请返回yuanxi表首先添加该院系!

")

else

insertintostuvalues(:

str1,:

str2,:

str3,:

str4,:

str5,:

str6);

MessageBox("提示信息","添加记录成功!

")

sle_1.text=""

sle_2.text=""

sle_3.text=""

sle_4.text=""

sle_5.text=""

sle_6.text=""

endif

endif

endif

else

MessageBox("提示信息","年龄必须介于5-100!

")

endif

else

MessageBox("提示信息","年龄必须介于5-100!

")

endif

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 广告传媒

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1