1、课程设计实验报告请输入公司名称请输入公司地址请输入电话号码请输入传真号码2023年1月6日在此处键入文档的摘要。摘要通常是对文档内容的简短总结。在此处键入文档的摘要。摘要通常是对文档内容的简短总结。Visual FoxPro 课程设计实验报告“学生信息管理系统”国贸2班200204074224佘楷一.设计题目学生信息管理系统二.开发软件VFP6.0三.课题要求(1) 掌握课堂讲授的基本数据库知识和VFP的基本技巧: 1. 数据库管理系统合数据库应用系统; 2. VFP的界面组成与操作; 3. VFP的工作方式; 4. 标的基本操作(表的建立与修改、表达式、维护命令); 5. 表的查询与统计(排
2、序与索引,SELECT-SQL查询,数据库于视图); 6. 程序设计初步(程序文件,程序的控制,多模块程序)。(2) 自学部分书本关于VFP的内容: 1. 菜单设计; 2. 表单设计; 3. 表单控件设计; 4. 实例:汽车修理管理系统的开发。(3) 要求能够独立设计。完成一个简单的学生信息管理系统,此系统必须有如下基本功能: 1. 数据的查询; 2. 记录的增加,删除,修改等功能; 3. 系统界面良好; 4. 操作方便,运行稳定。四.目的掌握基本的数据库知识,熟悉VFP的使用。学习VFP数据库应用系统开发的一般步骤:1. 需求分析2. 数据库设计3. 应用程序设计4. 软件的运行测试通过简单
3、的系统设计、开发,激发学生的学习兴趣和动手能力。五.设计时间第12周第19周六.设计主要流程流程图:用户登陆logo.scx管理员登陆普通用户登陆选择用户类型查询维护退出统计退出查询统计成绩信息课程信息学生信息成绩信息课程信息学生信息个人统计课程统计成绩信息课程信息学生信息课程统计个人统计(1) 数据库设计根据此系统需要建立数据库sexxdb.dbc,数据库中有如下几个数据表:student.dbf、course.dbf、score.dbf、password.dbf、passwordm.dbf。student.dbf记录的是学生的个人信息,如:学号、姓名、性别、民族、出生日期、所在专业、籍贯。
4、Course.dbf记录的是有关课程的信息,如:课程编号、课程名称、学分、任课老师。Score.dbf记录的是每个同学不同科目的考试成绩,有以下这些内容:课程编号、课程名称、学号、成绩。Password.dbf记录系统普通用户的用户名和密码。Passwordm.dbf记录系统管理员的用户名和密码。(2) 应用程序设计由于本系统是多用户登陆,当是管理员登陆时此系统的所有功能都可能用,当是普通用户登陆时此系统时将无法使用系统的维护功能。下面就各个表单功能和使用作如下简述:1. 用户登录先选择用户类型:普通用户、管理员,输入密码,按确定键进入(按重写键重新填写;按退出键退出系统)。主要代码如下:op
5、tiongroup1.click事件:do case case this.value=0 bo1.rowsource= case this.value=1 bo1.rowsource=password.用户名 case this.value=2 bo1.rowsource=passwordm.管理员endcase“确定”键command1.click事件:public guestprivate Password1do case case thisform.optiongroup1.value=1 select password password1=alltrim(thisform.text1.
6、value) locate for alltrim(用户名)=alltrim(bo1.value) if found() and password1=alltrim(密码) guest=2 thisform.release do form main.scx else =messagebox(用户名或密码错误,请重新输入!) thisform.text1.setfocus endif case thisform.optiongroup1.value=2 select passwordm password1=alltrim(thisform.text1.value) locate for allt
7、rim(管理员)=alltrim(bo1.value) if found() and password1=alltrim(密码) guest=1 thisform.release do form main.scx else =messagebox(用户名或密码错误,请重新输入!) thisform.text1.setfocus endifendcase在此代码中定义了公共变量guest,是为了判断用户类型以确定进入系统界面后“维护”键是否可用。“重写”键command2.click事件:bo1.value=thisform.text1.value=thisform.text1.setfocus
8、“退出”键command3.click事件:thisform.release2. 系统界面当使用者是普通用户时,系统界面中的“维护”键是不可用的。当管理员登陆时则可以使用“维护”键。“维护”键可否使用是通过form.activate来实现的:if guest=1 thisform.Command2.enabled=.t. else thisform.Command2.enabled=.f.endif“查询”、“维护”、“统计”、“退出”键的click代码分别为:do form chaxun.scxdo form weihu.scxdo form statistic.scxthisform.re
9、leasedo form logo3. 查询界面用户可以在此查询学生信息、课程信息和成绩信息。查询学生信息时“确定”键的代码是:thisform.pageframe1.page1.grid1.recordsource=XH=alltrim(thisform.pageframe1.page1.text1.value)thisform.pageframe1.page1.grid1.recordsource=select student.学号, student.姓名, student.性别, student.民族, student.出生日期, student.专业, student.籍贯 from
10、student where alltrim(学号)=XH or alltrim(姓名)=XH into cursor tempthisform.pageframe1.page1.text1.value=查询课程信息时的代码为:kcmc=alltrim(thisform.pageframe1.page2.text1.value)thisform.pageframe1.page2.grid1.recordsource=select course.课程编号, course.课程名称, course.学分, course.任课老师 from course where alltrim(课程名称)=kcm
11、c or alltrim(课程编号)=kcmc into cursor tempthisform.pageframe1.page2.text1.value=查询成绩信息时的代码为:xh=alltrim(thisform.pageframe1.page3.text1.value)thisform.pageframe1.page3.grid1.recordsource=select student.学号,student.姓名,course.课程名称,score.成绩 from student,course,score where alltrim(score.学号)=xh and alltrim(s
12、tudent.学号)=alltrim(score.学号) and alltrim(course.课程编号)=alltrim(score.课程编号) into cursor tempthisform.pageframe1.page3.text1.value=4. 维护界面只有管理员才能进入此界面。进入此界面后,选择组合框里的一项可以查询此项的数据,但不能修改,只有按下“进行修改”键后才能进行修改,修改后按“确定”键确认修改。按“退出”键退出此界面。此界面中optiongroup1的click事件代码为:do casecase thisform.optiongroup1.option1.value
13、=1thisform.grid1.recordsource=studentthisform.grid1.refreshcase thisform.optiongroup1.option2.value=1thisform.grid1.recordsource=coursethisform.grid1.refreshcase thisform.optiongroup1.option3.value=1thisform.grid1.recordsource=scorethisform.grid1.refreshendcasemand1.enabled=.t.mand2.enabled=.t.mand3
14、.enabled=.t.“进行修改”键的click代码为:thisform.grid1.enabled=.t.thisform.grid1.readonly=.f.thisform.grid1.allowaddnew=.t.thisform.grid1.setfocusmand1.enabled=.f.“确定”键的click代码为:usethisform.grid1.enabled=.t.thisform.grid1.allowaddnew=.f.thisform.grid1.readonly=.t.&thisform.grid1.recordsource=thisform.grid1.ref
15、reshmand1.enabled=.t.mand2.enabled=.f.mand3.enabled=.f.5. 统计界面通过选择组合框中的选项,可以统计个人成绩或某一课程的成绩。此界面中optiongroup1的click事件代码为:Do caseCase this.value=0 Tbo1.rowsource=Case this.value=1 Tbo1.rowsource=student.学号Case this.value=2 Tbo1.rowsource=course.课程名称Endcase“确定”键的click代码为:do case case thisform.optiongrou
16、p1.value=1xh=alltrim(bo1.value)select scorecalculate max(成绩),min(成绩),avg(成绩),cnt(); for 学号=xh to a1,a2,a3,a4&显示统计结果Thisform.text1.value=alltrim(str(a1)Thisform.text2.value=alltrim(str(a2)Thisform.text3.value=alltrim(str(a3)Thisform.text4.value=alltrim(str(a4)Case thisform.optiongroup1.value=2 Kcmc=a
17、lltrim(bo1.value) Select course Locate for 课程名称=kcmc Select score Calculate max(成绩),min(成绩),avg(成绩),cnt(); For 课程名称=kcmc to a1,a2,a3,a4 &显示统计结果Thisform.text1.value=alltrim(str(a1)Thisform.text2.value=alltrim(str(a2)Thisform.text3.value=alltrim(str(a3)Thisform.text4.value=alltrim(str(a4)Endcase(3) 程序
18、测试登陆系统,选择选项按钮组中的“普通用户”,在组合框中选择用户(如用 “王仪”登陆,密码为111111),查看能否登陆。以此相同方法查看“管理员”选项。查看“重写”、“退出”按钮是否有效。进入系统界面,查看“维护”键是否可用(用户为管理员时才可用);点击“查询”键进入查询界面,点击页框的“学生信息”一项,在文本框中输入学号或姓名(如1或王仪),单击“确定”,查看列表框中是否显示相应的信息。依此方法查看“课程信息”、“成绩信息”。然后单击“退出”。点击“统计”进入统计界面,选择选项按钮组中的“个人统计”选项,在组合框中选择学号(如1),单击“,确定”,查看右侧文本框中的数据是否正确。以相同方法
19、检查“课程统计”选项。然后单击“退出”。点击“维护”(当用户为管理员时),选择选项按钮组中的“学生信息”选项,然后单击列表,检查能否修改(正常应当无法修改);然后单击“进行修改”按钮,在检查列表能否修改(正常应当可以修改);单击“确定”确认修改,在查看列表能否修改(正常应当无法修改)。以此方法检查“课程信息”、“成绩信息”选项。七.系统实现的功能 查询、统计、维护(添加、删除、修改)八.设计中遇到的主要问题,解决方法主要问题:代码编写问题、数据表的关联、数据环境解决方法:注意中英文输入法切换;注意主索引的设置;添加数据表。九.心得体会符号输入不可用中文输入法出现错误时从使用“挂起”,查看代码何处发生错误,查看控件属性。十.系统需要改善之处,改善方法的构思该系统比较简单,功能较少;可添加报表功能、用户注册功能、修改密码功能;可使用菜单。
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。