vfp社团管理系统课程设计报告.docx
《vfp社团管理系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《vfp社团管理系统课程设计报告.docx(42页珍藏版)》请在冰豆网上搜索。
vfp社团管理系统课程设计报告
课程设计报告
(本科)
课程:
数据库原理
学号:
111044103511104410471110441057
姓名:
张文雅汪新妹汪美玲
班级:
11级嵌入式应用技术
教师:
孙雯
时间:
2013.6.30
计算机科学与技术系
设计名称:
大学生社团管理系统
设计内容、目的与要求:
内容:
设计大学生管理系统,分为管理员和社团会员俩个界面,管理员界面可以查询学生选社,社团以及学生信息,对社团和学生的信息进行更新,删除和插入社团和会员信息,还有退出等功能。
另外会员可以查看自己和社团的信息,修改自己的信息及退出。
目的:
通过使用学生管理系统,能够更好的对学生社团进行管理
要求:
①通过使用管理员功能实现对数据的插入,删除,修改,和查询,退出
②通过使用用户功能实现对社员信息的修改,查询,退出
计划与进度安排:
5-6周:
需求分析
6-8周:
设计E-R图和关系表
8-10周:
设计登陆界面
10-12周:
用户菜单和管理员菜单设计
12-15周:
用户和管理员功能的实现
16-17周:
对数据库进行测试并修改
设计过程、步骤(可加页):
1、概念模型设计(E-R图)
mmn
图1E-R图
2.逻辑设计
关系模式图
学生(学号,姓名,性别,所在系别)
社团(社团名称,成立时间,社团编号,近期活动)
选社(学号,社团编号,参与社团活动)
3、系统设计
3.1系统功能模块设计
3.1.1系统管理:
(1)对使用系统的用户进行管理,为他们分配一定的权限,使他们规范的使用系统。
本系统的用户分为两类:
管理员和一般用户。
管理员可以对系统的各个模块进行查询,更新,删除,插入;而一般用户只能对各模块进行简单的查询和修改,从而了解相关的信息。
(2)信息查询:
信息查询包括对各种信息和情况的记录进行查询。
(3)社团管理:
社团管理主要是对社团信息进行增加、删除、修改。
3.2数据库表结构
3.2.1学生表:
图2学生表
3.2.2社团表:
图3社团表
3.2.3参与社团活动表:
图4参与社团活动表
结果与分析(可以加页):
图5登陆界面
图6管理员操作界面
图7管理员按学号查询学生信息
图8管理员按姓名查询学生信息
图9管理员按社团号查询社团信息
图10管理员按社团名查询社团信息
图11管理员按社团号修改社团信息(修改前)
图12修改成功后
图13管理员按社团名修改社团信息
图14修改成功后
图15添加社团信息
图18
图16删除社团信息
图17添加新会员
图18学生操作界面
图19学生按学号浏览本人信息
图20学生浏览社团信息
图21学生修改本人信息
设计体会与建议:
张文雅:
数据库课程设计是一个复杂和有难度的任务,尽管如此,我始终坚信只要努力付出就会出现奇迹。
因为以前没有学习过vfp软件的使用,所以这次从多种途径来学习并了解vfp软件,从图书馆借了大量的书籍进行自学。
遇到问题的时候和小组成员讨论并请教老师同学,这样学会了很多知识,比如:
如何实现一个项目,只需要前期的需求分析,概念模型,逻辑模型的构建,以及表单的建立,菜单的建立,项目管理器的作用等等。
所以我想说一切的付出都是有回报的,其中不能缺少团队之间的默契以及合作。
汪新妹:
通过这次的数据库课程设计收获到很多东西。
首先老师叫我们用vfp的软件来做课程设计,但是因为以前没有接触过该软件,所以完全不懂,还必须得从头自学,比如说通过向图书馆借书参考,学会了制作表单,报表,菜单,以及建立项目管理器等等。
只有通过这些才能做出完整的课程设计,这不是一个简单的过程,其中要付出很大的精力和时间,但是当最终出现成果的时候还是很欣慰的,觉得都值了,还有团队分工合作也是很重要的一个方面。
汪美玲:
通过这次课程设计让我受益匪浅,社团管理系统在大学中具有实用性,本次课程设计运用了以前未接触过的vfp软件,因此在制作课程设计过程中,不仅要学会数据库的基础知识,还要了解vfp的相关知识,该系统制作过程中在需求分析阶段,需要合理设计系统结构并形成概念模型和逻辑结构。
然后在vfp系统中逐步实现该系统的功能。
附源程序代码:
登陆界面
setexacton
i=i+1
selectuser
locateforalltrim(username)=alltrim(thisform.text1.text)
iffound()andalltrim(password)=alltrim(thisform.text2.text)
ifclass=thisform.optiongroup1.value
docase
caseclass=1
doformform2.scx
thisform.release
caseclass=2
doformform3.scx
thisform.release
endcase
endif
else
ifi<3
messagebox("用户名或密码错误,请重新输入",48,"系统警告")
thisform.text1.value=""
thisform.text2.value=""
thisform.text1.setfocus
else
messagebox("三次错误,无权登陆",48,"系统警告")
thisform.release
endif
endif
form1社团信息表单
查找
ifempty(thisform.Text1.value)=.f.
gotop
a=thisform.Combo1.value
b=alltrim(thisform.Text1.value)
c=.f.
ifa="社团号"
locatefor社团号=b
ifeof()
messagebox("数据库中不存在您所要查询的记录",16,"系统提示")
gotop
return
else
c=.t.
endif
endif
ifa="社团名"
locatefor社团名=b
ifeof()
messagebox("数据库中不存在您所要查询的记录",16,"系统提示")
gotop
return
else
c=.t.
endif
endif
ifc
thisform.Text1.enabled=.f.
gorecno()
thisform.Text2.visible=.t.
thisform.Text2.enabled=.f.
thisform.Text3.visible=.t.
thisform.Text4.visible=.t.
thisform.Text5.visible=.t.
thisform.Label3.visible=.t.
thisform.label4.visible=.t.
thisform.Label5.visible=.t.
thisform.Label6.visible=.t.
thisform.Text2.value=社团.社团号
thisform.Text3.value=社团.社团名
thisform.Text4.value=社团.成立时间
thisform.Text5.value=社团.近期主要活动
thisform.grid1.setfocus
this.enabled=.f.
mand2.enabled=.t.
endif
else
messagebox("请输入要查找的内容!
",16,"系统提示")
thisform.Text1.value=""
thisform.Text1.Setfocus
endif
thisform.refresh
修改
a=alltrim(thisform.Text3.value)
b=alltrim(thisform.Text4.value)
c=alltrim(thisform.Text5.value)
ifempty(a)
messagebox("社团名不可以修改为空值",16,"系统提示")
return
endif
msg=messagebox('确定要修改记录吗?
',32+4,'系统提示')
ifmsg=6
gorecno()
replace社团.社团名witha,社团.成立时间withb,社团.近期主要活动withc
messagebox("修改记录成功",48,"系统提示")
thisform.grid1.refresh
mand1.enabled=.t.
thisform.Text1.enabled=.t.
this.enabled=.f.
thisform.Text2.visible=.f.
thisform.Text3.visible=.f.
thisform.Text4.visible=.f.
thisform.Text5.visible=.f.
thisform.Label3.visible=.f.
thisform.label4.visible=.f.
thisform.Label5.visible=.f.
thisform.Label6.visible=.f.
thisform.Text1.value=""
thisform.Text1.setfocus
endif
fomer4会员信息表单
查找
ifempty(thisform.Text1.value)=.f.
gotop
a=thisform.Combo1.value
b=alltrim(thisform.Text1.value)
c=.f.
ifa="学号"
locatefor学号=b
ifeof()
messagebox("数据库中不存在您所要查询的记录",16,"系统提示")
gotop
return
else
c=.t.
endif
endif
ifa="姓名"
locatefor姓名=b
ifeof()
messagebox("数据库中不存在您所要查询的记录",16,"系统提示")
gotop
return
else
c=.t.
endif
endif
ifc
thisform.Text1.enabled=.f.
gorecno()
thisform.Text2.visible=.t.
thisform.Text2.enabled=.f.
thisform.Text3.visible=.t.
thisform.Text4.visible=.t.
thisform.Text5.visible=.t.
thisform.Label3.visible=.t.
thisform.label4.visible=.t.
thisform.Label5.visible=.t.
thisform.Label6.visible=.t.
thisform.Text3.value=会员.学号
thisform.Text4.value=会员.姓名
thisform.Text5.value=会员.性别
thisform.Text6.value=会员.所在院系
thisform.grid1.setfocus
this.enabled=.f.
mand2.enabled=.t.
endif
else
messagebox("请输入要查找的内容!
",16,"系统提示")
thisform.Text1.value=""
thisform.Text1.Setfocus
endif
thisform.refresh
修改
a=alltrim(thisform.Text3.value)
b=alltrim(thisform.Text4.value)
c=alltrim(thisform.Text5.value)
ifempty(a)
messagebox("姓名不可以修改为空值",16,"系统提示")
return
endif
msg=messagebox('确定要修改记录吗?
',32+4,'系统提示')
ifmsg=6
gorecno()
replace会员.姓名witha,会员.性别withb,会员.所在院系withc
messagebox("修改记录成功",16,"系统提示")
thisform.grid1.refresh
mand1.enabled=.t.
thisform.Text1.enabled=.t.
this.enabled=.f.
thisform.Text2.visible=.f.
thisform.Text3.visible=.f.
thisform.Text4.visible=.f.
thisform.Text5.visible=.f.
thisform.Label3.visible=.f.
thisform.label4.visible=.f.
thisform.Label5.visible=.f.
thisform.Label6.visible=.f.
thisform.Text1.value=""
thisform.Text1.setfocus
endif
退出
thisform.release
form5管理员对社团信息维护表单(插入,删除,关闭)
第一条
select社团
ifbof()=.f.then
gotop
thisform.Command1.enabled=.f.
thisform.Command2.enabled=.f.
thisform.Command3.enabled=.t.
thisform.Command4.enabled=.t.
endif
thisform.refresh
上一条
ifbof()=.f.then
skip-1
thisform.Command1.enabled=.t.
thisform.Command3.enabled=.t.
thisform.Command4.enabled=.t.
else
messagebox("已经到达第一条记录",48,"提示")
thisform.Command1.enabled=.f.
thisform.Command2.enabled=.f.
endif
thisform.refresh
下一条
ifeof()=.f.then
skip
thisform.Command1.enabled=.t.
thisform.Command2.enabled=.t.
thisform.Command4.enabled=.t.
else
messagebox("对不起,已经到达最后一条",48,"信息不全")
thisform.Command3.enabled=.f.
thisform.Command4.enabled=.f.
endif
thisform.refresh
添加
select社团
ifmand5.caption="添加"
gobottom
thisform.Command1.enabled=.f.
thisform.Command2.enabled=.f.
thisform.Command3.enabled=.f.
thisform.Command4.enabled=.f.
mand5.caption="保存"
mand8.caption="放弃"
thisform.Command6.enabled=.f.
thisform.Text1.enabled=.t.
thisform.Text2.enabled=.t.
thisform.Text3.enabled=.t.
thisform.Text4.enabled=.t.
thisform.Text1.value=""
thisform.Text2.value=""
thisform.Text3.value=""
thisform.Text4.value=""
thisform.Text1.readonly=.f.
thisform.Text2.readonly=.f.
thisform.Text3.readonly=.f.
thisform.Text4.readonly=.f.
else
appendblank
skip
thisform.Command1.enabled=.f.
thisform.Command2.enabled=.f.
thisform.Command3.enabled=.f.
thisform.Command4.enabled=.f.
thisform.Command5.enabled=.t.
thisform.Command6.enabled=.t.
thisform.Text1.readonly=.f.
thisform.Text2.readonly=.f.
thisform.Text3.readonly=.f.
thisform.Text4.readonly=.f.
thisform.Text1.enabled=.f.
thisform.Text2.enabled=.f.
thisform.Text3.enabled=.f.
thisform.Text4.enabled=.f.
mand5.caption="添加"
mand8.caption="关闭"
a=alltrim(thisform.text1.value)
b=alltrim(thisform.text2.value)
c=alltrim(thisform.text3.value)
d=alltrim(thisform.text4.value)
ifempty(a)
messagebox("社团号不可以为空值",16,"系统提示")
return
endif
msg=messagebox('确定要保存记录吗?
',32+4,'系统提示')
ifmsg=6
replace社团.社团号witha,社团.社团名withb,社团.成立时间withc,近期主要活动withd
messagebox("保存记录成功",48,"系统提示")
thisform.Command1.enabled=.t.
thisform.Command2.enabled=.t.
thisform.Command3.enabled=.t.
thisform.Command4.enabled=.t.
thisform.refresh
endif
endif
thisform.refresh
删除
USE社团.dbfEXCLUSIVE
msg=messagebox('您确定要删除这条记录吗?
',32+4,'系统提示')
ifmsg=6
deleteforalltrim(社团.社团号)=alltrim(thisform.text1.text)
pack
messagebox("删除记录成功",16,"系统提示")
gotop
thisform.refresh
endif
关闭
ifmand8.caption="关闭"then
thisform.release
else
ifmand5.caption="保存"
delete
pack
mand5.caption="添加"
mand8.caption="关闭"
select社团
locatefor社团号=alltrim(thisform.text1.value)
社团名=alltrim(thisform.text2.value)
成立时间=alltrim(thisform.text3.value)
近期主要活动=alltrim(thisform.text4.value)
gotop
thisform.Command1.enabled=.t.
thisform.Command2.enabled=.t.
thisform.Command3.enabled=.t.
thisform.Command4.enabled=.t.
thisform.Command6.enabled=.t.
thisform.Text1.readonly=.t.
thisform.Text2.readonly=.t.
thisform.Text3.readonly=.t.
thisform.Text4.readonly=.t.
endif
endif
form6:
管理员对会员信息的维护(添加,删除,关闭)
第一条:
select会员
ifbof()=.f.then
gotop
thisform.Command1.enabled=.f.
thisform.Command2.enabled=.f.
thisform.Command3.enabled=.t.
thisform.Command4.enabled=.t.
endif
thisform.refresh
上一条:
ifbof()=.f.then
skip-1
thisform.Command1.enabled=.t.
thisform.Command3.enabled=.t.
thisform.Command4.enabled=.t.
else
messagebox("已经到达第一条记录",48,"提示")
thisform.Command1.enabled=.f.
thisform.Command2.enabled=.f.
endif
下一条
ifeof()=.f.then
skip
thisform.Command1.enabled=.t.
thisform.Command2.enabled=.t.
thisform.Command4.enabled=.t.
else
messagebox("对不起,已经到达最后一条",48,"信息不全")
thisform.Command3.enabled=.f.
thisform