1、Visual,FoxPro,课程设计实验报告 中国最大的商务办公文档下载基地:xxxx - 项目方案 调查报告 可研分析 广告策划 案例分析 商业计划 项目管理 电子商务 财税管理 法律文书 战略管理 企业文化 行政管理 人力资源 管理制度 合同文本 个人简历 年终总结 公文写作 视频讲座 - 中国文案:xxxx 中国商务办公文案的下载基地. 娱乐中国:xxxx xxxx 免费电影下载在线电影观看. 办公休闲小游戏:xxxx 超多FLASH游戏免费玩. 以下为文案正文: VisualFoxPro课程设计实验报告 “学生信息管理系统” 国贸2班 xxxx 佘楷 一.设计题目 学生信息管理系统 二
2、.开发软件 VFP6.0 三.课题要求 (1)掌握课堂讲授的基本数据库知识和VFP的基本技巧: 1.数据库管理系统合数据库应用系统; 2.VFP的界面组成与操作; 3.VFP的工作方式; 4.标的基本操作(表的建立与修改、表达式、维护命令); 5.表的查询与统计(排序与索引,SELECT-SQL查询,数据库于视图); 6.程序设计初步(程序文件,程序的控制,多模块程序)。 (2)自学部分书本关于VFP的内容: 1.菜单设计; 2.表单设计; 3.表单控件设计; 4.实例:汽车修理管理系统的开发。 (3)要求能够独立设计。完成一个简单的学生信息管理系统,此系统必须有如下基本功能: 1.数据的查询
3、; 2.记录的增加,删除,修改等功能; 3.系统界面良好; 4.操作方便,运行稳定。 四.目的 掌握基本的数据库知识,熟悉VFP的使用。学习VFP数据库应用系统开发的一般步骤: 1.需求分析 2.数据库设计 3.应用程序设计 4.软件的运行测试 通过简单的系统设计、开发,激发学生的学习兴趣和动手能力。 五.设计时间 第12周第19周 六.设计主要流程 流程图: 用户登陆 logo.scx 管理员 登陆 普通用户 登陆 选择用户类型 查询 维护 退出 统计 退出 查询 统计 成绩信息 课程信息 学生信息 成绩信息 课程信息 学生信息 个人统计 课程统计 成绩信息 课程信息 学生信息 课程统计 个
4、人统计 (1)数据库设计 根据此系统需要建立数据库sexxdb.dbc,数据库中有如下几个数据表:student.dbf、course.dbf、score.dbf、password.dbf、passwordm.dbf。 student.dbf记录的是学生的个人信息,如:学号、姓名、性别、民族、出生日期、所在专业、籍贯。 Course.dbf记录的是有关课程的信息,如:课程编号、课程名称、学分、任课老师。 Score.dbf记录的是每个同学不同科目的考试成绩,有以下这些内容:课程编号、课程名称、学号、成绩。 Password.dbf记录系统普通用户的用户名和密码。 Passwordm.dbf记录
5、系统管理员的用户名和密码。 (2)应用程序设计 由于本系统是多用户登陆,当是管理员登陆时此系统的所有功能都可能用,当是普通用户登陆时此系统时将无法使用系统的维护功能。下面就各个表单功能和使用作如下简述: 1.用户登录 先选择用户类型:普通用户、管理员,输入密码,按确定键进入(按重写键重新填写;按退出键退出系统)。主要代码如下: optiongroup1.click事件: docase casethis.value=0 bo1.rowsource= casethis.value=1 bo1.rowsource=password.用户名 casethis.value=2 bo1.rowsource
6、=passwordm.管理员 endcase “确定”键command1.click事件: publicguest privatePassword1 docase casethisform.optiongroup1.value=1 selectpassword password1=alltrim(thisform.text1.value) locateforalltrim(用户名)=alltrim(bo1.value) iffound()andpassword1=alltrim(密码) guest=2 thisform.release doformmain.scx else =messageb
7、ox(用户名或密码错误,请重新输入!) thisform.text1.setfocus endif casethisform.optiongroup1.value=2 selectpasswordm password1=alltrim(thisform.text1.value) locateforalltrim(管理员)=alltrim(bo1.value) iffound()andpassword1=alltrim(密码) guest=1 thisform.release doformmain.scx else =messagebox(用户名或密码错误,请重新输入!) thisform.te
8、xt1.setfocus endif endcase 在此代码中定义了公共变量guest,是为了判断用户类型以确定进入系统界面后“维护”键是否可用。 “重写”键command2.click事件: bo1.value= thisform.text1.value= thisform.text1.setfocus “退出”键command3.click事件: thisform.release 2.系统界面 当使用者是普通用户时,系统界面中的“维护”键是不可用的。 当管理员登陆时则可以使用“维护”键。 “维护”键可否使用是通过form.activate来实现的: ifguest=1 thisform.
9、Command2.enabled=.t. else thisform.Command2.enabled=.f. endif “查询”、“维护”、“统计”、“退出”键的click代码分别为: doformchaxun.scx doformweihu.scx doformstatistic.scx thisform.release doformlogo 3.查询界面 用户可以在此查询学生信息、课程信息和成绩信息。 查询学生信息时“确定”键的代码是: thisform.pageframe1.page1.grid1.recordsource= XH=alltrim(thisform.pageframe
10、1.page1.text1.value) thisform.pageframe1.page1.grid1.recordsource=selectstudent.学号,student.姓名,student.性别,student.民族,student.出生日期,student.专业,student.籍贯fromstudentwherealltrim(学号)=XHoralltrim(姓名)=XHintocursortemp thisform.pageframe1.page1.text1.value= 查询课程信息时的代码为: kcmc=alltrim(thisform.pageframe1.page
11、2.text1.value) thisform.pageframe1.page2.grid1.recordsource=selectcourse.课程编号,course.课程名称,course.学分,course.任课老师fromcoursewherealltrim(课程名称)=kcmcoralltrim(课程编号)=kcmcintocursortemp thisform.pageframe1.page2.text1.value= 查询成绩信息时的代码为: xh=alltrim(thisform.pageframe1.page3.text1.value) thisform.pageframe1
12、.page3.grid1.recordsource=selectstudent.学号,student.姓名,course.课程名称,score.成绩fromstudent,course,scorewherealltrim(score.学号)=xhandalltrim(student.学号)=alltrim(score.学号)andalltrim(course.课程编号)=alltrim(score.课程编号)intocursortemp thisform.pageframe1.page3.text1.value= 4.维护界面 只有管理员才能进入此界面。 进入此界面后,选择组合框里的一项可以查
13、询此项的数据,但不能修改,只有按下“进行修改”键后才能进行修改,修改后按“确定”键确认修改。按“退出”键退出此界面。 此界面中optiongroup1的click事件代码为: docase casethisform.optiongroup1.option1.value=1 thisform.grid1.recordsource=student thisform.grid1.refresh casethisform.optiongroup1.option2.value=1 thisform.grid1.recordsource=course thisform.grid1.refresh case
14、thisform.optiongroup1.option3.value=1 thisform.grid1.recordsource=score thisform.grid1.refresh endcase mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.t. “进行修改”键的click代码为: thisform.grid1.enabled=.t. thisform.grid1.readonly=.f. thisform.grid1.allowaddnew=.t. thisform.grid1.setfocus mand1.enabled=.
15、f. “确定”键的click代码为: use thisform.grid1.enabled=.t. thisform.grid1.allowaddnew=.f. thisform.grid1.readonly=.t. &thisform.grid1.recordsource= thisform.grid1.refresh mand1.enabled=.t. mand2.enabled=.f. mand3.enabled=.f. 5.统计界面 通过选择组合框中的选项,可以统计个人成绩或某一课程的成绩。 此界面中optiongroup1的click事件代码为: Docase Casethis.va
16、lue=0 Tbo1.rowsource= Casethis.value=1 Tbo1.rowsource=student.学号 Casethis.value=2 Tbo1.rowsource=course.课程名称 Endcase “确定”键的click代码为: docase casethisform.optiongroup1.value=1 xh=alltrim(bo1.value) selectscore calculatemax(成绩),min(成绩),avg(成绩),cnt(); for学号=xhtoa1,a2,a3,a4 &显示统计结果 Thisform.text1.value=a
17、lltrim(str(a1) Thisform.text2.value=alltrim(str(a2) Thisform.text3.value=alltrim(str(a3) Thisform.text4.value=alltrim(str(a4) Casethisform.optiongroup1.value=2 Kcmc=alltrim(bo1.value) Selectcourse Locatefor课程名称=kcmc Selectscore Calculatemax(成绩),min(成绩),avg(成绩),cnt(); For课程名称=kcmctoa1,a2,a3,a4 &显示统计结
18、果 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)程序测试 登陆系统,选择选项按钮组中的“普通用户”,在组合框中选择用户(如用“王仪”登陆,密码为xxxx),查看能否登陆。以此相同方法查看“管理员”选项。查看“重写”、“退出”按钮是否有效。 进入系统界面,查看“维护”键是否可用(用户为管理员时才可用);点击“查询”键进入查询界
19、面,点击页框的“学生信息”一项,在文本框中输入学号或姓名(如1或王仪),单击“确定”,查看列表框中是否显示相应的信息。依此方法查看“课程信息”、“成绩信息”。然后单击“退出”。 点击“统计”进入统计界面,选择选项按钮组中的“个人统计”选项,在组合框中选择学号(如1),单击“,确定”,查看右侧文本框中的数据是否正确。以相同方法检查“课程统计”选项。然后单击“退出”。 点击“维护”(当用户为管理员时),选择选项按钮组中的“学生信息”选项,然后单击列表,检查能否修改(正常应当无法修改);然后单击“进行修改”按钮,在检查列表能否修改(正常应当可以修改);单击“确定”确认修改,在查看列表能否修改(正常应当无法修改)。以此方法检查“课程信息”、“成绩信息”选项。 七.系统实现的功能 查询、统计、维护(添加、删除、修改) 八.设计中遇到的主要问题,解决方法 主要问题:代码编写问题、数据表的关联、数据环境 解决方法:注意中英文输入法切换;注意主索引的设置;添加数据表。 九.心得体会 符号输入不可用中文输入法 出现错误时从使用“挂起”,查看代码何处发生错误,查看控件属性。 十.系统需要改善之处,改善方法的构思 该系统比较简单,功能较少; 可添加报表功能、用户注册功能、修改密码功能; 可使用菜单。 11