Visual,FoxPro,课程设计实验报告

时间:2020-04-21 17:40:47 浏览量:

  

 中国最大的商务办公文档下载基地: http://www.word98.com/

  ╔------------------------------------------------------------------------╗

 ┆项目方案

 调查报告

 可研分析

 广告策划

 案例分析┆

 ┆商业计划

 项目管理

 电子商务

 财税管理

 法律文书┆

 ┆战略管理

 企业文化

 行政管理

 人力资源

 管理制度┆

 ┆合同文本

 个人简历

 年终总结

 公文写作

 视频讲座┆

 ╚------------------------------------------------------------------------╝

 中国文案:www.word98.com

 中国商务办公文案的下载基地......

 娱乐中国:www.mv99.com

 v.mv99.com

 免费电影下载 在线电影观看......

 办公休闲小游戏:www.163173.com

 超多FLASH游戏免费玩......

 以下为文案正文:

 Visual FoxPro 课程设计实验报告

 ——“学生信息管理系统”

 国贸2班

 200204074224

 佘楷

 一.设计题目

 学生信息管理系统

 二.开发软件

 VFP6.0

 三.课题要求

 (1) 掌握课堂讲授的基本数据库知识和VFP的基本技巧:

  1. 数据库管理系统合数据库应用系统;

  2. VFP的界面组成与操作;

  3. VFP的工作方式;

  4. 标的基本操作(表的建立与修改、表达式、维护命令);

  5. 表的查询与统计(排序与索引,SELECT-SQL查询,数据库于视图);

  6. 程序设计初步(程序文件,程序的控制,多模块程序)。

 (2) 自学部分书本关于VFP的内容:

  1. 菜单设计;

  2. 表单设计;

  3. 表单控件设计;

  4. 实例:汽车修理管理系统的开发。

 (3) 要求能够独立设计。完成一个简单的学生信息管理系统,此系统必须有如下基本功能:

  1. 数据的查询;

  2. 记录的增加,删除,修改等功能;

  3. 系统界面良好;

  4. 操作方便,运行稳定。

 四.目的

 掌握基本的数据库知识,熟悉VFP的使用。学习VFP数据库应用系统开发的一般步骤:

 1. 需求分析

 2. 数据库设计

 3. 应用程序设计

 4. 软件的运行测试

 通过简单的系统设计、开发,激发学生的学习兴趣和动手能力。

 五.设计时间

 第12周——第19周

 六.设计主要流程

 流程图:

 用户登陆

 logo.scx

 管理员

 登陆

 普通用户

 登陆

 选择用户类型

 查询

 维护

 退出

 统计

 退出

 查询

 统计

 成绩信息

 课程信息

 学生信息

 成绩信息

 课程信息

 学生信息

 个人统计

 课程统计

 成绩信息

 课程信息

 学生信息

 课程统计

 个人统计

 (1) 数据库设计

 根据此系统需要建立数据库sexxdb.dbc,数据库中有如下几个数据表:student.dbf、course.dbf、score.dbf、password.dbf、passwordm.dbf。

 student..dbf记录的是学生的个人信息,如:学号、姓名、性别、民族、出生日期、所在专业、籍贯。

 Course.dbf记录的是有关课程的信息,如:课程编号、课程名称、学分、任课老师。

 Score.dbf记录的是每个同学不同科目的考试成绩,有以下这些内容:课程编号、课程名称、学号、成绩。

 Password.dbf记录系统普通用户的用户名和密码。

 Passwordm.dbf记录系统管理员的用户名和密码。

 (2) 应用程序设计

 由于本系统是多用户登陆,当是管理员登陆时此系统的所有功能都可能用,当是普通用户登陆时此系统时将无法使用系统的维护功能。下面就各个表单功能和使用作如下简述:

 1. 用户登录

 先选择用户类型:普通用户、管理员,输入密码,按确定键进入(按重写键重新填写;按退出键退出系统)。主要代码如下:

 optiongroup1.click事件:

 do case

  case this.value=0

  thisform.combo1.rowsource=""

  case this.value=1

  thisform.combo1.rowsource="password.用户名"

  case this.value=2

  thisform.combo1.rowsource="passwordm.管理员"

 endcase

 “确定”键command1.click事件:

 public guest

 private Password1

 do case

  case thisform.optiongroup1.value=1

  select password

  password1=alltrim(thisform.text1.value)

  locate for alltrim(用户名)==alltrim(thisform.combo1.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 alltrim(管理员)==alltrim(thisform.combo1.value)

  if found() and password1==alltrim(密码)

  guest=1

 thisform.release

 do form main.scx

  else

 =messagebox("用户名或密码错误,请重新输入!")

 thisform.text1.setfocus

  endif

 endcase

 在此代码中定义了公共变量guest,是为了判断用户类型以确定进入系统界面后“维护”键是否可用。

 “重写”键command2.click事件:

 thisform.combo1.value=""

 thisform.text1.value=""

 thisform.text1.setfocus

 “退出”键command3.click事件:

 thisform.release

 2. 系统界面

 当使用者是普通用户时,系统界面中的“维护”键是不可用的。

 当管理员登陆时则可以使用“维护”键。

 “维护”键可否使用是通过form.activate来实现的:

 if guest=1

 thisform.Command2.enabled=.t.

 else

 thisform.Command2.enabled=.f.

 endif

 “查询”、“维护”、“统计”、“退出”键的click代码分别为:

 do form chaxun.scx

 do form weihu.scx

 do form statistic.scx

 thisform.release

 do form logo

 3. 查询界面

 用户可以在此查询学生信息、课程信息和成绩信息。

 查询学生信息时“确定”键的代码是:

 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 student where alltrim(学号)==XH or alltrim(姓名)==XH into cursor temp"

 thisform.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(课程名称)=kcmc or alltrim(课程编号)=kcmc into cursor temp"

 thisform.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(student.学号)==alltrim(score.学号) and alltrim(course.课程编号)==alltrim(score.课程编号) into cursor temp"

 thisform.pageframe1.page3.text1.value=""

 4. 维护界面

 只有管理员才能进入此界面。

 进入此界面后,选择组合框里的一项可以查询此项的数据,但不能修改,只有按下“进行修改”键后才能进行修改,修改后按“确定”键确认修改。按“退出”键退出此界面。

 此界面中optiongroup1的click事件代码为:

 do case

 case thisform.optiongroup1.option1.value=1

 thisform.grid1.recordsource="student"

 thisform.grid1.refresh

 case thisform.optiongroup1.option2.value=1

 thisform.grid1.recordsource="course"

 thisform.grid1.refresh

 case thisform.optiongroup1.option3.value=1

 thisform.grid1.recordsource="score"

 thisform.grid1.refresh

 endcase

 thisform.command1.enabled=.t.

 thisform.command2.enabled=.t.

 thisform.command3.enabled=.t.

 “进行修改”键的click代码为:

 thisform.grid1.enabled=.t.

 thisform.grid1.readonly=.f.

 thisform.grid1.allowaddnew=.t.

 thisform.grid1.setfocus

 thisform.command1.enabled=.f.

 “确定”键的click代码为:

 use

 thisform.grid1.enabled=.t.

 thisform.grid1.allowaddnew=.f.

 thisform.grid1.readonly=.t.

 &&thisform.grid1.recordsource=""

 thisform.grid1.refresh

 thisform.command1.enabled=.t.

 thisform.command2.enabled=.f.

 thisform.command3.enabled=.f.

 5. 统计界面

 通过选择组合框中的选项,可以统计个人成绩或某一课程的成绩。

 此界面中optiongroup1的click事件代码为:

 Do case

 Case this.value=0

 Thisform.combo1.rowsource=""

 Case this.value=1

 Thisform.combo1.rowsource="student.学号"

 Case this.value=2

 Thisform.combo1.rowsource="course.课程名称"

 Endcase

 “确定”键的click代码为:

 do case

 case thisform.optiongroup1.value=1

 xh=alltrim(thisform.combo1.value)

 select score

 calculate 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=alltrim(thisform.combo1.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) 程序测试

 登陆系统,选择选项按钮组中的“普通用户”,在组合框中选择用户(如用 “王仪”登陆,密码为111111),查看能否登陆。以此相同方法查看“管理员”选项。查看“重写”、“退出”按钮是否有效。

 进入系统界面,查看“维护”键是否可用(用户为管理员时才可用);点击“查询”键进入查询界面,点击页框的“学生信息”一项,在文本框中输入学号或姓名(如1或王仪),单击“确定”,查看列表框中是否显示相应的信息。依此方法查看“课程信息”、“成绩信息”。然后单击“退出”。

 点击“统计”进入统计界面,选择选项按钮组中的“个人统计”选项,在组合框中选择学号(如1),单击“,确定”,查看右侧文本框中的数据是否正确。以相同方法检查“课程统计”选项。然后单击“退出”。

 点击“维护”(当用户为管理员时),选择选项按钮组中的“学生信息”选项,然后单击列表,检查能否修改(正常应当无法修改);然后单击“进行修改”按钮,在检查列表能否修改(正常应当可以修改);单击“确定”确认修改,在查看列表能否修改(正常应当无法修改)。以此方法检查“课程信息”、“成绩信息”选项。

 七.系统实现的功能

 查询、统计、维护(添加、删除、修改)

 八.设计中遇到的主要问题,解决方法

 主要问题:代码编写问题、数据表的关联、数据环境

 解决方法:注意中英文输入法切换;注意主索引的设置;添加数据表。

 九.心得体会

 符号输入不可用中文输入法

 出现错误时从使用“挂起”,查看代码何处发生错误,查看控件属性。

 十.系统需要改善之处,改善方法的构思

 该系统比较简单,功能较少;

 可添加报表功能、用户注册功能、修改密码功能;

 可使用菜单。

推荐访问:课程设计 实验 报告

《Visual,FoxPro,课程设计实验报告.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:

文档为doc格式

一键复制全文 下载 投诉