vfp程序设计作业

2024-05-27

vfp程序设计作业(通用10篇)

vfp程序设计作业 篇1

五、VFP高级程序设计(应用性实验)

1、本次实验的目的

Visual FoxPro不但提供了用于进行简单程序开发的简单语句,而且还提供了许多用于进行高级程序设计的语句(命令):如输入/输出格式设计语句、菜单设计语句、窗口设计语句等和面向对象的程序设计方法,为开发复杂的管理信息系统提供了强有力的支持。此次作业所要达到的主要目的就是想通过上机实验让同学们初步理解和掌握利用Visual FoxPro高级编程语句和面向对象的程序设计方法开发较复杂的管理信息系统的理论和方法。

2、实验的总体要求

2·1 严格按照下面“作业内容和操作步骤”的步骤进行操作; 2·2 必须如数完成作业内容; 2·3 独立完成作业;

2·4 上机后分组写出上机报告;报告内容包括:①上机时间、②上机过程、③作业内容及其完成情况、④心得体会、⑤建议或要求等等。

3、作业内容和操作步骤

3·1 Visual Foxpro高级程序设计的方法和步骤(1)打开VFP(操作方法为:单击“开始”、“程序”、“Microsoft Visual Foxpro6.0”或双击桌面快捷图标,如果正常会出现如下窗口);

(2)打开命令文件编辑器(操作方法为:在VFP窗口的“命令窗口”输入命令Modify Command和路径(例:Modify Command E:gzglxtpzsr),如果正常会出现如下命令文件编辑窗口);

(3)输入、编辑和修改程序(或者叫命令文件)源代码(见下面3·2“本次实验的主要内容”和3·3“本次实验所要达到的要求”);

(4)存盘退出(操作方法:按Ctrl+w或单击上编辑窗口的“关闭”按钮然后按照提示操作);

(5)程序运行(操作方法:在VFP窗口的“命令窗口”输入命令Do和路径(例:Do E:gzglxtpzsr),如果正常就会运行你的程序实现你想实现的结果,如果不正常它会自动返回步骤(2)要求你修改程序);(6)如果上面你自己编写的程序运行正常,便可得到下面的可以进行人机交互输入记帐凭证的屏幕界面;

(7)所有工作完成后关闭窗口(操作方法为:单击VFP窗口的“关闭”按钮)。

3·2 本次实验的主要内容(1)画程序流程图

已知烟台某公司开发会计信息系统的可行性分析、要求分析和系统设计已经完成,现在正在准备编写程序。假设分配你编写“记帐凭证输入程序”,请根据记帐凭证登记的业务特点和计算机数据输入的特点画出准备编写的记帐凭证输入程序的流程图。(2)编写程序

利用所学的Visual FoxPro相关命令(如分支语句、循环语句、输入/输出格式设计语句等等)编写出满足下面要求的程序。

3·3 本次实验所要达到的要求

(1)要求该程序利用交互方式进行凭证输入;

(2)要求该程序完成交互输入的屏幕样式如下图;

(3)通过实验深入了解管理信息系统与信息技术的关系;(4)通过实验深入了解Visual FoxPro的输入/输出格式设计语句的书写格式、功能、可选项及其应用。

4、注意事项

4·1上机前一定要认真阅读上机指导书,深入理解作业的要求和内容; 4·2爱护计算机及所有实验设备;

4·3遵守实验室的一切规章制度,尤其是不能大声说话和玩游戏。

5、参考文献

5·1 黄梯云主编,《管理信息系统》,高等教育出版社,2002第 7次印刷; 5·2 吕建忠等,《Office97(中文版)入门与提高》,清华大学出版社,2000 5·3 钱晓平等,《计算机文化基础》,高等教育出版社,1999; 5·4 李正凡等,《Visual FoxPro程序设计基础教程》,中国水利水电出版社,2000; 5·5 合力工作室编著,《中文Visual FoxPro 6·0编程基础》,清华大学出版社,2001; 5·6 周亦民等,《Visual FoxPro 6·0实用教程》,科学出版社,2000 5·7 其他同类参考书。附:程序原代码 set talk off set bell on set intensity on clear clear all set color to gr+/gb* @ 10,10 say “ ” defi wind ck_1 from 1,26 to 11,106 defi wind ck_2 from 12,8 to 28,128 none acti wind ck_1 set color to b+/gr* @ 1,14 say “凭证登记系统使用说明” font “Arial”,22 style “b” @ 4,20say “欢迎您使用我公司开发的凭证输入系统,本系统采用” @ 5,16 say “最先进的全屏幕编辑技术进行数据输入。按光标键进行输入” @ 6,16 say “位置选择,按Del进行数据删除,按Insert进行数据插入!” @ 7,22 say “现在进行凭证输入?(Y/N):” get xz defa “ ” read if xz=“Y”.or.xz=“y” use d:cai_glxxxtvfpcxpzb acti wind ck_2 append Blank else deac wind ck_1 release windows set color to w+/w* clear clear all cancel endif do while.t.set color to n+/gr*,n+/g* @ 2,10 to 15,116 pen 3 color r @ 3,24 say “

证 ” font “Arial”,18 style “b” @ 5,14 say “ 附单 张 年 月 日 凭证号 ” font “Arial”,12 @ 6,14 say “┏━━━━━━━┳━━━━━━━┳━━━━━━━━┳━━┳━━━━━━┓” font “Arial”,12 @ 7,14 say “┃ 摘 要 ┃ 总 帐 科 目 ┃

明 细 科 目 ┃记向┃ 金 额 ┃” font “Arial”,12 @ 8,14 say “┣━━━━━━━╋━━━━━━━╋━━━━━━━━╋━━ ╋━━━━━━┫” font “Arial”,12 @ 9,14 say “┃

┃” font “Arial”,12 @ 10,14 say “┗━━━━━━━┻━━━━━━━┻━━━━━━━━┻━━┻━━━━━━┛” font “Arial”,12 @ 11,14 say “

主管:

审核: 制单: ” font “Arial”,12 year=“ ” store “ ” to m,d @ 5,25 get 附单 @ 5,42 get year @ 5,50 get m @ 5,55 get d @ 5,86 get 凭证号 @ 9,18 get 摘要 @ 9,40 get 总帐科目 @ 9,60 get 明细科目 @ 9,86 get 记向 @ 9,94 get 金额 @ 11,28 get 主管 @ 11,48 get 审核 @ 11,68 get 制单 read ymd=year+“.”+m+“.”+d replace 日期 with ymd @ 13,24 say “是否继续登记?(READ if xz1<>”Y“.or.xz1<>”y“ exit else clear append Blank loop endif enddo close data deac wind ck_1,ck_2 release windows set color to w+/w* clear clear all return

Y/N):” get xz1 defa “ ” 4

vfp程序设计作业 篇2

在磁盘文件中读写数据是最基本的程序功能,本文提到的FSO对象是VB中具有灵活而强大功能的对象模型,它是File System Object的英文缩写,解释为文件系统对象。这种对象模型在文件操作中得到广泛应用,它可以通过调用object.method方法,将一系列对文件和文件夹的操作通过设置对象本身的属性直接实现。FSO对象模型不仅可以象使用传统文件操作语句那样实现文件的创建、改变、移动和删除,而且还可以获取关于文件和文件夹的信息,而以前要获取这些信息必须通过调用Windows API函数集中的相应函数才能实现。其实我们也可以在VFP中使用FSO对象,从而提高VFP的文件处理能力。在上机实验中,教师需要把所布置作业对应的文件在教师服务器和学生客户机之间传送。本文特意介绍了一种在VFP中利用文件系统对象FSO,实现基于局域网的作业收发的方法。实践证明,这种方法简单有效,实用可行。

2. 相关设置

2.1 教师服务器

(1)操作系统Windows 2003

(2)作业文件存放位置server作业$(共享、只读)

上机实验开始前,教师把实验文件复制到服务器"作业$"对应的文件夹中。实验开始后,学生运行客户机上的接收作业程序把作业文件复制本机硬盘上。共享文件夹“作业$”在共享名后添加一个“$”,其作用是在局域网上把该共享文件夹隐藏,可以避免通过网络邻居直接访问该文件夹,起到了一定的保密作用。

(3)操作结果存放位置server结果$(共享、可写)

学生实验结束后,直接运行客户机上的提交作业程序把本机硬盘上的操作结果文件复制到服务器"结果$"的对应文件夹中。为了区分学生的操作结果,每个学生的目标文件夹由学生的学号、机号组合而成,如02130101.601。

2.2 学生客户机

(1)操作系统Windows XP

(2)开发工具Visual Foxpro 6.0

(3)C盘中存放接收作业和提交作业的应用程序,其中使用了文件系统对象实现作业文件及学生操作结果文件在教师服务器和学生客户机之间的传送。

(4)E盘作为专用盘,在实验过程中将用于存放学生的作业文件及操作结果。

3. 作业收发

3.1 接收作业

(程序界面如下图)

根据学生输入的学号、机号把服务器上对应作业的文件复制到E盘上,在复制前把E盘上所有文件删除,同时创建学号文件,记录学生输入的学号、机号,该学号文件以后将用于提交作业,为避免被学生修改或删除,需将其属性设为隐藏、只读。

get_from_folder="Server作业$"&&定义作业文件存放位置

put_to_folder="E:"&&定义复制作业目标文件夹

xh_dat=put_to_folder+"xh.dat"&&定义学号文件

fs=Create Object("Scripting.File System Object")&&创建文件系统对象

If fs.File Exists(xh_dat)

If Message Box("你的作业已经发送,再次发送将覆盖原有作业",1+48,"提示")=2

For Each fil In fld.Files&&删除目标文件夹下所有文件

If Upper(fil.Name)<>"WIN386.SWP"

fs.Delete File(fil.Path,.T.)

End If

End For

For Each fil In fld.Sub Folders&&删除目标文件夹下所有子文件夹

ts=fs.Open Text File(xh_dat,2,.T.)&&生成学号文件

ts.Write Line(Thisform.Text1.value+"."+Thisform.Text2.value)

&&在学号文件中写入学号、机号

fs.Copy File(fil.Path,put_to_folder,.T.)&&复制作业至目标文件夹

fil.Attributes=1+2&&设置学号文件属性为只读和隐藏

fs=Null

3.2 提交作业

根据学号文件中所记录考生输入的学号、机号,组合成服务器上具有特定名称的文件夹,并把学生的操作结果复制到该文件夹中。为了避免学生的操作结果遗留在机器的硬盘上,在提交作业的同时把E盘清空。

put_to_folder=put_to_folder+xh+"."+jh&&以学号、机号生成目标文件夹

If fs.Folder Exists(put_to_folder)

If Message Box("目标作业文件夹已存在,是否重新提交?",1+48,"提示")=2

fs.Copy File(fil.Path,put_to_folder)&&复制结果至目标文件夹

4. 结束语

利用文件系统对象FSO实现基于局域网的作业收发,由于整个操作过程学生直接在计算机的硬盘上进行操作,读写速度快。即使在操作过程中出现死机现象,不会对学生的操作结果产生影响,只需重新开机即可继续操作。整个作业收发的细节对学生而言都是透明的,效率较高,具有一定的实用价值。

参考文献

[1]戴仕明,王映龙.Visual FoxPro程序设计与应用开发[M].北京:清华大学出版社,2006.

浅析VFP程序设计教学的方法 篇3

关键词:数据库;多媒体;案例;可视化

中图分类号:G642

文献标识码:A

文章编号:1000-8136(2009)29-0096-02

Visual FoxPro作为数据库管理语言对于高职院校的学生而言具有相对的易学性,其数据库设计与开发、操作的可视性、程序语言的面向对象性,是它的特点,也是学生建立学习兴趣的所在,但也是VFP教学与学习过程中的3个难点。在学习可视化开发过程中,随着设计环境的改变,出现不同的窗口和大量控件及属性图标,记忆与使用起来较复杂;而在开始学习面向对象编程时,比较抽象,有一定的学习难度。在一个学期内解决好这些问题,是任课教师所面临的一大挑战,针对VFP的特点、难点和传统教学的缺陷,我们在VFP的教学中采用了以下方案。

1 尽量使用投影仪或者在计算机多媒体教室中进行教学

在计算机教室中安装好各种教学软件,如极域电子教室等,教师在教师机上使用与讲授VFP各种对象的可视化操作,学生在自己面前的学生机上可清晰地看到老师的操作过程,可以直观地理解VFP的各个菜单命令的使用方法和操作结果。这样的教学方式,可以极大地缩短学生接触与熟悉理论知识的时间,在有限的课时内,可以更多地进行实践操作与练习,与教师有较多的时间解决学习中的具体问题,能够进行更多的交流,从而达到事半功倍的教学效果。此外,为了更有效率地对学生进行练习,解决VFP内容多、课时少的矛盾,教师还可将相关的课件、VFP试题库存入教学机内让学生自主学习。

2采用一个典型的实用案例

如《学生信息管理系统》贯穿整个教学过程。这是一个学生身边的案例,学生通过它能够较容易地理解数据库的模型结构,能体会到数据表之间的关系,在初学阶段,学生能激发起较强的学习兴趣。所使用的案例系统、结构分为学籍管理和成绩管理2个子系统,各部分即独立又有显而易见的联系,学生易于建立结构,各功能要简单而实用,要分别实现信息及成绩的浏览、查询、修改等,学生易于明白所学重点,又为进一步的提高打好基础。这个案例使用了VFP各个知识点,从建立项目始、数据库表建立、查询视图建立、报表标签、表单到菜单的建立,其间融入了程序代码设计、表间关系的设定、各种对象的可视化属性的设置,锻炼学生分析设计各功能模块、理解解决的问题的思路、掌握相关知识内容,从少积多,在学生学习过程中形成一个能够初步解决实际问题的项目。在实际教学中通过案例教学,弱化了VFP的单纯理论教学方法,强化了学生对知识的可见性与可操作性,在学习上有了更多的主动性与灵活性;学生既从微观上掌握了VFP各个知识点的作用,又能在宏观上体会到各功能的有机联系,在学习中逐渐掌握数据库管理系统的开发方法和步骤。在课程实训阶段,要求学生仿照所学内容,设计一个管理信息系统,给出具体的设计要求,如职工管理系统,要求至少4个数据表以上。能够表间互相关联,能够实现某几个项目的查询,输出形式根据不同的结果采用不同的形式,同时应有友好的人机交互界面,用户登录和访问权限及系统设置功能等。通过实训,提高学生掌握与运用知识的能力,能够由一个数据库多表间的操作,扩展到多个数据库间的关联操作,综合掌握输入输出设计的灵魂——表单。

3重点学习表单的制作体现可视化开发的过程

掌握VFP表单设计技术是学习可视化开发技术及掌握面向对象的程序设计的一个重要过程,是进一步理解相关概念如对象及其属性、对象的事件及方法、类、容器、封装等的基础过程。VFP面向对象的功能在表单制作中极大地得到体现,表单的功能不再是一个简单的输入与输出界面,数据库管理功能也是在各种查询表单中实现,我们同时在表单中加入了如各命令按钮,设计了各种控制命令代码后,就可以用表单担负起一个数据库管理系统中的绝大部分功能。因此VFP应用系统实际开发过程的实现也主要是表单的制作技术。在讲述表单时,要尽可能掌握各种与实例相关的各表单的主要查询统计类型的制作步骤;而对于控件,则以介绍其常用属性的设置方法和主要事件的编码过程,其他的先暂时不提及,以免使学生感到杂乱无目的性。在表单教学中,应由表及里逐层进行。首先,创建表单。学习利用系统的表单向导建立新表单,然后再利用表单设计器创建修改表单,所建表单应至少包括普通表单和一对多两种样式。第二,练习表单的数据环境的设置。先掌握表单数据环境中表或视图的添加、移出的方法,再要求深入理解数据环境及其中各个表和视图属性的定义。第三,向表单中添加控制。用表单设计器设计一个较复杂的表单或表单集,向表单或表单集添加各种控制,并定义表或表单集以及各个控制的属性、事件与方法是我们学习VFP的重点。但表单只是一个基本的容器,必须添加一些对象,如:标签、文本框、编辑框、命令按钮等常用控制,这些控制可以灵活地进行多种排列组合,使用它们可以领略到可视化技术和面向对象设计方法的精华所在。但要真正灵活自如地使用这些控制,并不是一件简单的事情,需要必须对每种控制深入了解,能够根据设置各种控制的属性、事件和方法以及对应的控制代码。

VFP教程 七、 表单设计 篇4

1.名词解释

表单:

即用户与计算机进行交流的一种屏幕界面,用于数据的显示、输入、修改,

VFP教程 七、 表单设计

。该界面可以自行设计和定义,是一种容器类,可包括多个控件(或称对象)。

表单集:

可包含一张或多张表单的容器。

数据环境:

在打开或修改一个表单或报表时需要打开的全部表、视图和关系。它以窗口形式(类似于数据库设计器)反映出与表单有关的表、视图、表之间关系等内容。可以用数据环境设计器来创建和修改表单的数据环境。

2.表单设计界面

主要包括: 表单向导、表单设计器、 表单设计器工具栏、 表单控件工具栏、 属性窗口

3.表单设计中常用的属性、事件与方法介绍

属性、事件、方法

说明

默认值

AlwaysOnTop属性控制表单是否总是处在其他打开窗口之上假(.F.)AutoCenter属性控制表单初始化时是否让表单自动地在Visual FoxPro主窗口中居中假(.F.)BackColor属性决定表单窗口的颜色255,255,255BorderStyle属性决定表单是否有边框,若有边框,是单线边框、双线边框,还是系统边框,

电脑资料

VFP学生成绩管理系统设计说明 篇5

学生成绩管理是学校管理中异常重要的一个环节,作为学校,除了育人,就是育知,学生成绩管理的计算机化是整个学校教务管理中的重要一部分,能否实现这一步关系到学校办学整体效率的高低,介与它的重要性,学生成绩管理系统的开发与应用就逐渐提入议程,并占着越来越重要的份量。

运用学生成绩管理系统可以减轻学院教学人员的工作量,加快查询速度,加强管理,以及国家各部门关于信息化的步伐,使各项管理更加规范化。还有就是缩小开支,提高工作效率与准确率。可以使学生能够合理安排时间,能够尽快的知道自己的考试成绩,投入新的课程的学习或复习这次没有考过的课程。并且学生成绩管理系统的应用也为今天的高校教育在未来市场的竞争力的提高达下坚实的基础。

如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。但是人工管理成绩档案具有效率低、查找麻烦、可靠性不高、保密性低等因素。因此开发出一个不仅仅是适用于大中专院校以及其它高校通用的学生成绩管理系统是必要的。

本系统主要用于学校学生信息管理,特别是学生成绩的管理,采用面向对象的设计思想,以菜单和表单的形式进行各表单的调用,主要任务是计算机对学生信息进行日常管理,如查询、修改、增加、删除,另外考虑到学生选课。针对这些要求,设计这些要求,设计了学生成绩管理系统。

因此,本系统应该主要完成和实现如下功能:

1.系统登陆功能。要求系统登陆时有密码管理功能,可分为管理人员登陆和普通用户登陆两种方式,只有身份和密码全正确才能成功登陆。

2.基本数据管理功能。此功能主要是用于对学生的基本情况的管理,如学生所在的系、班级、以及所学的专业、课程等内容。管理人员登陆后可对系统内的信息进行修改。

3.学生信息管理功能。此功能主要是用于对学生信息的录入和管理。包括信息添加,信息浏览等。

4.学生成绩管理功能。此功能主要是用于对学生成绩的录入和管理包括考试成绩添加,成绩浏览等。

5.学生查询功能。此功能主要用于对学生信息的查询和统计,并打印相关信息,包括学习成绩等。

二、基本要求

完成上述五项要求,设计好以下界面:1.登陆界面;2.课程管理界面;3.学生信息管理界面;4.学生成绩管理界面; 5.学生查询界面。

最终完成一个高校的学生成绩管理系统,并给出部分相应的编程。

三.参考资料

vfp实习总结 篇6

开始的时候觉得是实习很让人期待,怀着满心的热情投入到课程设计中,不过这其中也有亲所和曲折,但是更多的是得到收获。

这次课程设计是不到一周的时间,觉得做起来还是比较难的,周一的上午,任老师给我们发下了作业,对整个作业要完成的细节做了系统的概述,做起来有些不简单,觉得自己还是基础知识不扎实,在老师刚刚发下来卷子时我并没有直接做题目,而是吧书上的知识点又看过了一遍,可是这样的结果让我觉得还不如在刚开始时就做实验啦,不过就当做一次精力吧,在做的过程中会做的都是零散的知识,一些难度较大的就不会啦,还是要同学的帮忙才做好的,建立表单,视图,查询,报表,这几方面总的还可以,就是碰到了关于索引的地方就看书上的代码觉得就和天书似的,现在才觉得自己的知识有多么的欠缺和不完善,看着题目不会做,弄得我晕晕的,这几天忙的不亦乐乎,晚上还得熬夜,幸运的是宿舍有电脑可以慢慢研究,这阵子自己觉得还挺充实的,只有在经历了这种作业后,才觉得自己平时学习有多么的不认真,如果自己在努力一点的话,也许自己就能够独立完成啦。所以道理还是一个,以后定要好好看书,争取在课堂上学会老师讲的内容,课后多多复习,消化所有的知识,还要注意学习方法,在学习的过程中检验自己的错误,以便在以后的学习生活中更好的继续。

由此对我在今后的学习提供了很好的借鉴,期末考试即将来临,此次实验提醒自己要认真复习,不仅要把握住基础知识,更多的需要看例题,学会应用,熟练写出程序代码。平时的学习过程中对例题不是特别关注,以至于在设计操作时,遇到各种各样的问题。回首想想,觉得需要运用的知识也不难,老师在课堂上基本讲解过,实验的内容老师也在PPT上操作过,只要自己认真复习和记忆,加上设计之前整理出一条完整的思路,就可以解决问题。

这次课程设计我不禁学到了知识和技能,更重要的是掌握了一种学习方法,培养自己的独立能力,实践能力,为我终身学习继续受益,创造了好的条件和基础,通过这样的学习形式,提高了我的学习能力。自己对数据库又增进了许多理解,当然,革命尚未成功,自己还需要加强基础知识和运用能力。通过这次实验,我发现自己要有十足的耐心,是对自我意志力的一次锻炼,做课程设计要有十足的耐心和东电力,不断地查漏补缺,寻找问题昌盛的原因,不断地去修改和完善,基础本次课程设计的创造型,我还没有做到,以后要多加学习融会贯通,我们认为只有不断挑战自己

vfp程序设计作业 篇7

随着信息社会的不断发展, 数据处理技术已经深入到人们生活的各个层面。利用数据库技术解决工作中的实际问题已成为社会对大学生的普遍要求。Visual Fox Pro (以下简称VFP) 是一种面向对象的关系型数据库软件, 以很少的代码就能设计出丰富多彩的用户界面, 是开发中、小规模数据库应用系统的常用工具, 因此得到各高校的高度重视, 成为各高校所开设的课程之一。本文从分析VFP程序设计课程的现状入手, 在教学方法和手段运用等方面进行了探究, 以取得良好的教学效果。

1 VFP程序设计课程的现状分析

VFP程序设计语言是一种面向对象和事件驱动的可视化编程语言, 它既有可视化的操作界面, 又有交互式的操作命, 还有关系型数据库通用的结构化查询语言;它不仅涉及到数据表、数据库、查询等一些基本操作, 而且还涉及到表单、报表和菜单的建立和使用。其中概念较多, 内容比较复杂, 还得编写事件代码, 对初学者来讲会感到茫然。在传统的教学模式中, 大多是以教师为主, 学生为辅, 忽略了学生的认知主体作用, 学生总是被动地接受知识, 而无法主动学习和培养自己的创造性思维能力, 长此以往, 学生的学习就缺乏主动性。再加上学时少, 重理论、轻实践, 实践教学环节薄弱, 所以根据以往教学过程的情况看, 学完该课程之后, 学生对于数据库系统中的概念还非常模糊, 不能充分理解, 也不能很好地开发出一个完整的应用系统。那么如何使学生掌握好这门软件开发工具的技能, 达到能够开发出实用的小型数据库系统的目的, 成为教师面临的核心问题。

2 教学方法的探究

教学方法的重要职能是将预期的教学目的变成教学成果, 教师所运用的教学方法在很大程度上决定了教学效果的优劣。根据几年VFP的教学经验, 笔者总结了以下的教学方法, 可以达到事半功倍的教学效果。

2.1 上好第一节课

“良好的开端是成功的一半”, 上好第一节课很关键, 是教学成功的重要环节。为了培养学生学习VFP的兴趣, 可以先给学生演示一个功能较为完善的数据库管理系统, 如“学生信息管理系统”。该系统有信息输入, 信息浏览, 信息修改, 信息查询等功能, 界面的设计要新颖、美观, 引起学生的共鸣, 当得知通过一学期的学习自己也能完成类似的系统时, 学生就会产生强烈的学习兴趣。兴趣是最好的老师, 是促进学生勤奋学习的一个很重要的因素。调动了学生学习的积极性, 就为以后的课堂教学打下了良好的基础。

2.2 多媒体教学手段的应用

VFP课程操作性极强, 单凭一块黑板和三尺讲台不足以使学生掌握和运用所学的知识, 最好安排在多媒体教室中进行。学生每人一台计算机, 教师使用教师机, 教师通过安装的软件可以控制学生机。教师讲授的内容 (如VFP中的各种窗口、对话框、表单、执行结果等) 和操作过程可完全显现在学生机上, 使学生能更直观、更清晰地理解所学内容。教师精心确定教学内容, 适当编制一些动画、游戏, 寓教于乐, 并让学生自己去实践, 这样有利于培养学生分析问题、解决问题的能力。多媒体教学的优点在于直观形象, 通过音频、视频、图片等多种形式, 将大量的信息展现在课堂上, 为学生提供生动、友好、多样化的交互平台。因此, 在VFP程序设计课程的教学中, 应充分发挥多媒体技术在课堂教学中的优势, 从而得到良好的教学效果。

2.3 案例教学法的应用

案例教学法是起源于二十世纪初, 由美国哈佛商学院所倡导的一种公认的行之有效的教学方法。案例教学法是一种运用案例进行教学的方法, 它以提出问题———分析问题———解决问题为主线, 把学生带入特定的生活情境中, 使学生能够主动地参与教学的整个过程, 它是一种参与型的学习方法, 能够激发学生的求知欲, 使学生成为学习的主体, 由被动接受知识变为主动探索。案例教学法包括案例设计、案例分析和讨论、案例实现这三个方面, 着眼点在于案例的分析和讨论。通过分析和讨论, 学生能逐步掌握案例中所包含的理论知识, 并将它们用于实际的系统设计当中。

教师在选取案例时, 根据教学目的和培养目标的要求, 要选取具有代表性、趣味性、实用性的案例, 案例要有针对性、探讨性的特点。如在讲解数据表的表单设计时, 就以“学生成绩管理”的表单作为案例。教师先把自己制作好的比较精美的表单给学生演示一下, 然后提出问题:能用哪些方法制作出类似的表单?由于学生对自己所学的科目设置都比较了解, 在教师引导下, 就会对案例中的问题进行有针对性的分析和讨论, 是用表单向导还是用表单设计器制作表单, 又或者是用快速表单添加字段的方法制作表单, 对表单中的控件如何设置, 以及如何修饰表单等等, 最终每个学生都会按照自己的思维解决这个问题。通过这样的案例, 学生即学到了相关的理论知识, 又提高了分析问题、解决问题的能力。

案例教学法适合于实践性较强的课程。通过把学生感兴趣的内容设计成一个个案例, 培养学生学习的主动性和创造性, 使学生从原来的“要我学”变成现在的“我要学”改变了传统的以教定学的教学模式。案例教学法是以教师为主导、学生为主体, 以学定教, 使学生由被动学习变成主动参与的教学新模式。通过案例教学法的应用, 加深了学生对课程体系的理解, 实现了理论和实践的完美结合, 学生成为了认知的主体和知识意义上的主动建构者。

2.4 完善实践教学环节

VFP是一门实践性很强的课程, 数据表、数据库、报表等文件的建立, 按钮、列表框、图像等控件的使用, 各种操作命令的运行等等, 都离不开上机实践的环节。应该精心设计实验内容, 多安排实验课, 利用校园网络将实验内容放到网络上, 让学生为上机实践做好准备, 上实验课时充分利用上机时间, 多思考多练习, 消化和巩固课堂所学, 将枯燥的理论知识转化为可视化的能够实际运行的知识。“实践出真知, 科学靠实践”。只有这样, 才能提高学生的动手能力和创新能力, 深刻地理解VFP的理论内容, 从而快速地掌握数据库系统知识。

3 结语

总之, 运用以上的教学方法和手段, 就能充分调动学生学习的积极性, 让学生对数据库系统开发产生兴趣, 掌握好VFP程序设计课程的理论, 提高分析问题和解决问题的能力, 从而达到开发出中、小规模数据库应用系统的目的。

参考文献

[1]杨俊峰.浅议高校公共VFP课程的教学方法[J].电子技术, 2013 (7) :80-82.

[2]李淑华.Visual FoxPro6.0程序设计[M].北京:高等教育出版社, 2005:259-279.

vfp程序设计作业 篇8

关键词:幼儿信息管理系统;Visual Foxpro6.0;C/S;升迁;数据库

中图分类号:TP315 文献标识码:A 文章编号:1673-8454(2010)14-0068-05

引言

在幼儿园引进计算机进行幼儿信息管理,是幼教信息化发展的要求和大势所趋。开发并利用幼儿信息管理系统,不但可以实现幼教管理信息化,大大提高工作效率,而且可以提高幼儿园的硬件设施档次和知名度,有利于提高生源。通过实践我们发现,幼儿管理的信息化可以提高幼儿园管理水平、教学质量和为家长服务的质量。

本文介绍一个以Visual Foxpro6.0(以下简称VFP6)为开发工具,以Microsoft SQL Server2000为远程数据库服务器,采用原型化方法的C/S模式的幼儿信息管理系统的设计与实现,该系统尤其适合单位附属幼儿园的幼儿信息管理需要。

一、系统需求分析

幼儿园中的幼儿信息管理工作包括幼儿入园登记、分班、插班、调班、退学、请销假、体检、疫苗接种、幼儿生日提醒、特色班管理、升级、毕业等方面。在使用方面,园长可通过系统对全园的幼儿信息进行查阅和管理,班级教师可以对本班幼儿基本信息进行查询,但只能对本班教学运行信息如请销假等进行更新。

根据上述幼儿管理工作要求,系统中需要存储幼儿基本信息和日常教学产生的信息两方面的数据。在功能方面,需要为上述两类用户提供信息查询、更新、数据导入导出等信息维护、统计和报表功能,以及幼儿分班、调班、升级等其他幼儿管理功能。在安全性方面,根据幼儿园管理权限要求,将本系统的用户分为园长用户、班级教师用户和管理员用户三个类别,对其分别授以不同的系统使用权限。在使用方面,幼儿信息管理软件要支持在网络环境中的多用户同时运行,这包括园长用户和每班的教师用户。

二、开发工具选择

VFP6是一种自含式的DBMS,它功能先进、强大,支持客户机/服务器结构(C/S结构),与其他软件具有高度兼容性。利用VFP6自带的升迁向导(Upsizing Wizards),可将本地多用户管理信息系统升迁为C/S结构的Microsoft SQL Server2000应用系统。本文所述系统采用VFP6为DBMS和软件开发平台。

三、系统概要设计

1.系统设计方案

该信息管理系统采用C/S结构。开发时,先按C/S模式的总体要求设计本地幼儿信息管理系统,再按原型化方法用VFP6建立数据库和实现其应用软件原型,通过评测后,利用升迁向导将其VFP数据库升迁为远程Microsoft SQL Server2000数据库,建立Microsoft SQL Server 2000数据库服务器,从而实现一个基于C/S模式的幼儿信息管理系统。系统用户分为园长用户、教师用户和管理员用户三类。

在实现具体功能时,为利于升迁、安全性保护和提高网络数据库访问效率,对数据库中表的访问主要通过视图进行。

2. 数据库设计

系统需要管理的幼儿信息分为幼儿基本信息和日常教学所产生的信息两大类,它们的变动性、使用对象和使用频度不同,按照数据规范化理论要求,[1]它们在数据库中要用不同的表(Table)存储。为满足部分幼儿家长的特殊教育要求,幼儿园往往会开设特色班,周末上课,因此系统设有特色班管理功能。而同一类的数据相互之间的依赖关系又各不同,按照提高数据规范化程度和数据库访问效率的综合要求,本系统中将幼儿信息数据库结构设计如下:

在园幼儿基本信息表child(幼儿编号、幼儿姓名、性别、出生日期、入园日期、幼儿来源…)

离园幼儿基本信息表childgo(幼儿编号、幼儿姓名、性别、出生日期、退托日期、入园日期、幼儿来源…)

班级表class(班级编号、班级名称、成立年份、负责教师名称)

特色班SpecialClass(特色班编号、特色班名、成立年份、负责教师名称)

账户表account(账户名、密码、班级编号)

升班表promotecls(原班级编号、新班级编号)

在园幼儿学籍信息表childmem(幼儿编号、幼儿姓名、请假日期、请假时间、销假时间)

幼儿疫苗接种表childvaccine(幼儿编号、疫苗名称、接种时间)

上述表中,SpecialClass表和child表之间是多对多联系, class表和child表之间也是多对多联系。这两种多对多联系分别用表SpecialClass_child(特色班编号、幼儿编号)和表class_child(班级编号、幼儿编号)表示。

幼儿基本信息表child和childgo还含有幼儿来源、幼儿双亲学历信息、家庭联系信息等字段。因为附属幼儿园在招收幼儿时,首先招收所隶属单位的教职工子女入园,故设置幼儿来源字段,含“校外”、“单职工”、“双职工”三个选项;幼儿双亲学历信息则用作幼儿教育与父母学历相关性的教学研究资料。为确保系统数据库中重要数据的安全,还为表child和childgo设置了备份数据表childb和childgob。备份数据表与对应的数据表结构内容完全相同,由系统定期备份。

整个系统逻辑上分为数据库和建立于其上的应用软件两部分。对于数据库部分,采用集中式与分布式相结合的体系结构。对于幼儿基本数据,因对其操作主要是查询,更新很少,故采用集中式存储,而对于幼儿运行动态数据,因更新频率较高,则在客户端启动时,根据主数据库建立临时表,运行期间对该临时表进行操作,退出运行时将临时表更新到主数据库中。

四、系统的结构与功能

幼儿信息管理系统的组成结构与功能如图1所示。整个系统包括用户登录、数据维护、查询、幼儿分班、信息统计、数据输出、帮助七大部分。

1.用户登录

系统中设置系统管理员、园长、教师三类用户。用户登录采用“用户名+密码”的身份标识和鉴别方式。通过身份鉴别后,系统按照其用户类型设置相应的操作权限。园长有对全部信息的查询权限,教师有对本班幼儿非基本信息的全部权限、对本班幼儿基本信息的查询权限以及对本人信息的维护权限,管理员为系统的超级用户。对不同用户操作权限的控制分别通过两种途径实现,一是通过参数化视图来实现,将教师用户的班级信息存于public型变量privclass中,打开视图时用它给视图参数赋值;二是对于教师用户登录后,将其无权操作的菜单或菜单项关闭,通过设置菜单或菜单项的skip for表达式为usertype <>adminstrtor来实现。

在教师用户登录后,系统自动检查该教师所在班级每位幼儿的出生日期,若与当前日期相同,则显示提示信息。在下午用户退出系统时,系统自动检查第二天的日期是否等于幼儿出生日期,若是,则提前给出生日提示信息。

2.数据维护

幼儿信息维护模块如图2所示,它包括数据导入/导出、入托/退托、特色班报名录入、疫苗接种信息录入、数据修改、清除重复记录等常用功能。导入导出功能可实现child表按dif、foxpro dbf、xls三种数据格式进行导入和导出。数据修改按需要提供了表式修改、分项修改和按班级修改三种功能。

建立命令按钮类库进行数据维护,以提高代码重用性,如btns类中含数据维护常用的记录移动、添加、删除、查找、修改等方法的代码。

3.查询

查询是系统的重要功能,为兼顾操作效率和查询功能的完备性,将查询操作分为常用查询和通用智能查询两类。对频率高的查询,如按姓名、班级、特色班、

疫苗接种、年龄、入园日期、父母学历等的查询,为它们分别设置相应的菜单命令实现,其中疫苗接种查询又分为按班级、姓名、接种的疫苗三种方式的查询;而对于其他不常用查询,则设立通用查询,由用户通过鼠标或键盘选取或输入查询条件以实现用户需要的查询。

4.分班

幼儿编班模块的功能组成如图3所示。

幼儿编班功能包括新入园幼儿的分班、老生升班和特色班分班三个方面。对于新入园幼儿的分班,不但包括小班与小小班的划分,还包括同一级的划分,如将小班幼儿分为两个班。对于幼儿园的升班,不是一到学年末就全部升到高一级,而是要根据幼儿年龄、性别、爱好等因素确定哪些升班,哪些不升班,有的在升班后还要调班。对同一级新生分班时,要在性别、年龄等相对平衡的前提下随机分班。对于升班,因为在园幼儿的变动性,除考虑上述因素外,还要考虑幼儿特长。对此,系统中将幼儿编班功能设计为向导式,即先由用户输入分班或升班规则,然后系统据此进行分班或升班,若对结果不满意,可选择“撤销升班”或“分班”,恢复分班前的班级组成状态;若对分班结果基本满意或个别幼儿家长要求调班,则可利用调班功能进行调班。上述方案,能够满足用户对系统分班功能的自动化和灵活性两方面的要求。

用户按向导操作进行分班时,系统每一步都给出简明的提示说明和支持数据帮助用户抉择。以分班为例,其操作流程为:(1)输入年龄段,查看被分班孩子情况统计;(2)输入分班决定;(3)实施分班并显示结果;(4)根据分班结果决定接受、撤销或进行微调。

重新分班向导的第一步的界面如图4所示。

5.统计

为使园长能及时获得本园幼儿不同方面的统计信息,系统的统计功能包括:

(1)综合信息统计:该功能可实现对幼儿园中每一个班按总人数、男女孩人数、单双职工人数、各年龄段人数进行统计并显示。

(2)按年龄段统计:根据输入的出生起止日期,显示该日期范围内出生的全园幼儿详细信息,以及这部分幼儿按性别和单双职工的统计信息。

(3)统计入托孩子:根据输入的入托日期范围,显示该日期范围内入托的全园幼儿详细信息,以及这部分幼儿按性别和单双职工的统计信息。

(4)统计退托孩子:根据用户输入的退托日期范围,显示退托的全园幼儿详细信息,以及这部分幼儿按性别和单双职工的统计信息。

(5)参加特色班幼儿信息统计和参加疫苗接种幼儿信息统计:各特色班人数、全部特色班人次数、性别和单双职工信息,每种疫苗接种的统计信息和全部疫苗接种的统计信息。

上述各项统计,都配有“打印预览”和“打印”输出功能。

6.数据输出

该模块目前实现了各班级统计信息输出、打印班级花名册、特色班花名册、疫苗接种名单以及按年龄段输出功能。每种打印包括按XLS文件输出和按打印报表格式输出两种方式。打印报表表单(Report)是按幼儿园规定的标准样表格式设计的,可实现标准打印。将幼儿信息输出为XLS文件,可供用户进一步处理,满足其多样性信息需求。

7.帮助

系统采用流行的窗口式、菜单驱动用户界面,并提供联机帮助功能。用户在使用该软件的过程中,可通过菜单或按F1键打开联机帮助功能。系统采用“.DBF-样式(.DBF-style)”的联机帮助,它是用标准VFP自由表建立的,易被移植到其他VFP平台,支持跨平台应用程序和向后兼容。要建立“.DBF-样式”的联机帮助,需要按下面步骤进行:

(1)建立帮助信息VFP自由表,该表含三个字段,其类型必须依次为Numerical、Character、Memo,分别存储帮助上下文标识号、帮助主题名和帮助信息。

(2)用SET HELP TO <表名>指定帮助信息文件。

(3)用HELP命令显示帮助信息。

图5为“数据维护操作”主题的帮助窗口。

五、系统实现及关键技术问题的解决

本系统为多用户数据库应用系统,在设计时,除进行数据完整性、安全性控制外,还要保证数据的一致性和优化系统运行性能,为此采取了如下措施:

(1)在表单中用视图访问数据,视图的Wheretype属性选用DB_KEYANDMODIFIED 。利用视图本身具有的更新冲突管理技术来管理对多用户数据的访问。

(2)在表单中使用私有数据工作期。

(3)SQLServer升迁向导产生的所有数据对象初始时仅对数据库所有者和系统管理员授予存取权限,对其他用户授权许可可用企业管理器或Grant 和Revoke命令;SQLServer升迁向导并不对VFP存储过程和触发器进行升迁,这需要在SQLServer企业管理器中手工进行。

(4)通过 SQLSETPROP( )函数对远程表启用人工事务,使用SQLCOMMIT( )和 SQLROLLBACK( )函数控制事务处理,实现对远程表的更新,以处理数据共享引起的共享冲突等问题。其代码如下面所示:[2]

hConnect=CURSORGETPROP(‘connecthandle)*获得连接句柄

=SQLSETPROP(hConnect,transmode,DB_

TRANSMANUAL)*启用人工事务

lSuccess=TABLEUPDATE(.T.,.F.)*非强制更新所有记录

iflSuccess=.F.*如果更新失败

=SQLROLLBACK(hConnect)

=AERROR(ERRS)

DO CASE

CASE ERRS[1,1]=1582 *如果违反了字段规则,做相应处理

…..

CASE ERRS[1,1]=1585 *如果记录已被其他用户修改,做相应处理

nNextModified = GETNEXTMODIFIED(0)

DO WHILE nNextModified <> 0

GO nNextModified

FOR nField = 1 to FCOUNT()

cField = FIELD(nField)

IF OLDVAL(cField) <> CURVAL(cField)

nResult = MESSAGEBOX(“数据已被另一用户修改;

保留修改吗?”,4+48,“修改的记录”)

IF nResult = 7

TABLEREVERT(.F.)

ENDIF

EXIT

ENDIF

ENDFOR

nNextModified =GETNEXTMODIFIED(nNextModified)

ENDDO

TABLEUPDATE(.T.,.T.)

SQLCOMMIT(hConnect)

CASE ERRS[1,1]=1700*如果记录已被其他用户使用,做相应处理

…..

CASE ERRS[1,1]=1884*如果违反唯一索引规则,做相应处理

…..

OTHERWISE

=MESSAGEBOX("UNKNOWN ERROR MESSAGE "+STR(ERRS[1,1]))

ENDCASE

Else

=SQLCommit(hConnect)

Endif

对于涉及多个远程表的复杂更新操作,如退托处理需要从child表向childgo表移动记录,这类操作功能就采用上述人工事务处理方式实现。

结束语

本文研究了以Visual Foxpro6.0为开发工具、以Microsoft SQL Server 2000为远程数据库服务器、基于C/S模式的幼儿信息管理系统的设计与实现。该系统已应用于莱阳农学院幼儿园幼儿信息管理,系统应用效果良好。系统采用模块化和面向对象方式设计,可扩充性好,今后可继续扩展教学管理等模块。

参考文献:

[1]王珊,陈红.数据库系统原理教程[M].北京:清华大学出版社,1998:171-172.

[2]韩作生,巩裕伟等.Visual FoxPro实用教程(第二版)[M].东营:中国石油大学出版社,2002:278-295.

VFP编程技巧 篇9

在VFP中,能象一些杀毒软件那样,找遍磁盘的所有文件夹和文件吗?

答案是肯定的,而且很简单:

*利用VFP的Create Cursor -SQL命令建立有5个字段的临时库

*结合前面提到的ADIR函数便可完成,

下面是具体代码:

dqml='C:' &&需扫描的盘符

use

Create Cursor mylsdbf (wjmc c(120),wjcd n(10),wjrq d,wjshj c(10),wjsx c(6))

xGS=1

xCD=0

append BLANK

REPL wjmc WITH dqml

do while !eof()

nRecn=Recn()

dqml=allt(wjmc)+''

x=adir(Mysz,(dqml+'*.*'),'rashd')

if x0

for I=3 to x

Mysz(I,1)=dqml+Mysz(I,1)

xGS=xGS+1

xCD=xCD+Mysz(I,2)

endf

append from array Mysz for allt(wjmc)'.' AND allt(wjmc)'..' and 'D'$wjsx

endi

go nRecn

skip

endd

use

这里有以上例子的源代码实例下载

在VFP如何利用低级文件操作函数读取*.INI文件

VFP为我们提供了16个低级文件操作函数,充分利用这些函数,几乎可对所有文件进行本来只有汇编、C等语言才能进行的操作。

*.INI文件其实也是ASCII码文本文件,只不过有其特定的规律而已。

下面以读取system.INI中[boot.description]关键字里的mouse.drv标识符中的值为例来说明:

nPath_ls=fullpath('command.com',2)

nPath=strtran(nPath_ls,'COMMAND.COM','system') &&取得Windowssystem的目录名

dkwjm=nPath+'system.ini'&&需打开文件的路径和文件名

Fp=Foren(dkwjm,0) &&以只读(默认方式0可以不用)打开文件

if Fp<0

wait wind '打不开您指定的文件'

retu

endi

do while !Feof(Fp)

wjnr=Fgets(Fp) &&从打开的文件中读取一行

if atc('mouse.drv',wjnr)=1

exit

endi

endd

=Fclose(Fp) &&关闭打开的文件

x=atc('=',wjnr)

nQdz=iif(x>1,suns(wjnr,x+1),'') &&nQdz='标准鼠标'字符串

retu

我只不过是说明如何运用VFP提供的这些函数,至于如何建立和改写文件,为何用Fgets()来读取数据而不用Fread()来读取数据等,可以查阅VFP帮助,

VFP3.0的帮助是一本很好的中文教科书。

如何改变文件的最后修改日期和时间

在WINDOW 9X下我们没办法来改变一个文件的日期和时间,那在VFP能办到吗?

在WINDOW 9X下文件的日期和时间有创建、修改和访问三种,在通常情况下我们所说的文件日期和时间指的是修改这一项。

那在VFP下如何改文件日期和时间呢:

Fp=Foren('需打开的文件',2) &&以读写方式打开文件

if Fp<0

wait wind '打不开您指定的文件'

retu

endi

wjnr=Fread(fp,1) &&从打开的文件头中读一个字节到wjnr

=Fseek(Fp,0,0) &&将文件指针移到文件头(回到原来的位置)

=Fwrite(Fp,wjnr,1) &&向打开的文件头中写入一个字节

=Fclose(Fp)&&关闭打开的文件

即把读取的那个字节原封不动的再写入文件,从而达到了将当前系统

的日期和时间来改写文件的日期和时间目的。

如何在程序的开始检测权限和根据权限操作

在一个程序的开始部分,如何根据不同的口令字来区分不同的登权限,各自的

口令字和权限设置又如何加以保密,以防止非法查看和修改?

我们辛辛苦苦编制的程序又如何根据每台机器的硬件来加以判断用户的合法

与非法,以防止非法拷贝?

针对以上问题,我编制了一个简单的程序实例供有兴趣的朋友参考。

该实例并非十分完美,也很简单,意在提供一种思路,大家可根据自己的情

况,加以完善。

实例共有一个数据表和四个模块组成,分别是:

一、KLK.DAT

这是经过vfpjmdbf.vcx加密后的数据表,解密后的表结构如下:

========================================================

表文件名: KLK.DBF

数据记录数: 3

最近更新的时间: 10/17/

代码页: 936

字段 字段名 中文含义 类型 宽度 小数位 索引 排序

1 BH 编号 字符型 2

2 XM 姓名 字符型 8

3 PASSKL 口令字 字符型 12

4 QX 权限 数值型 1

VFP期末试卷及答案剖析 篇10

班级:财管(08)01班 姓名:

一、名词解释(每小题3分,共15分)

1、实体:是指客观存在的并且可以相互区别的事物。

2、数据库:是存储在计算机存储设备上的结构化的相关数据集合。

3、选择:从关系中找出满足给定条件的元组的操作称为选择。

4、数组:是内存中连续的一片存储区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下标来访问。

5、程序:是能够完成一定任务的命令集合。

二、选择题(每小题1。5分,共30分)

1、用数据二维表来表示实体及实体之间联系的数据模型称为(D)A)实体——联系模型 B)层次模型 C)网状模型 D)关系模型

2、Visual FoxPro6.0是一种关系型数据库管理系统,所谓关系是指(C)A)各条记录中的数据库彼此有一定的关系

B)一个数据库文件和另一个数据库文件之间有一定的关系 C)数据库模型符合满足一定条件的二维表格式 D)数据库中各个字段之间彼此有一定的关系

3、数据库系统的核心是(C)

A)数据库 B)操作系统 C)数据库管理系统 D)文件

4、为了合理的组织数据,应遵从的设计原则是(D)

A)“一事一地”的原则,即一个表描述一个实体或实体间的一种联系

B)表中的字段必须是原始数据和基本数据元素,并避免在表之间出现重复字段 C)用外部关键字保证有关联的表之间的联系 D)以上各项原则都包括

5、下面关于工具栏的叙述,错误的是(D)

A)可以定制用户自己的工具栏 B)可以修改系统提供的工具栏 C)可以删除用户创建的工具栏 D)可以删除系统提供的工具栏

6、项目管理器的“数据”选项卡用于显示和管理(C)

A)数据库、自由表和查询 B)数据库、视图和查询 C)数据库、自由表、查询和视图 D)数据库、表单和查询

7、从“表单”菜单中,选择“快速表单”可以打开(B)

A)表单设计器 B)表单生成器 C)表单向导 D)命令按钮组生成器

8、参照完整性生成器在以下情况下显示(D)A)在“数据库设计器”中双击两个表之间的关系线,在“编辑关系”对话框中选择“参照完整性”按钮

B)从“数据库设计器”快捷菜单中选择“参照完整性”选项 C)选择“数据库”菜单中“编辑参照完整性”选项 D)以上三种情况均显示

9、要想将日期型或时间型数据中的年份用4位数字显示,应当使用设置命令(A)

A)SET CENTURY ON B)SET CENTURY OFF C)SET CENTURY TO 4 D)SET CENTURY OF 4

10、进行字符串比较时,使命令?“我们大家”=“我们”的结果为逻辑假的设置是(A)

A)SET EXACT ON B)SET EXACT OFF C)SET COLLATE TO”Machine” D)SET COLLATE”Stroke”

11、设N=886,M=345,K=”M+N”,表达式1+&k的值是(A)A)1232 B)346 C)1+M+N D)数据类型不匹配

12、连续执行以下命令之后,最后一条命令的输出结果是(C)SET EXACT OFF X=”A”

?IIF(X=”A”,X-“BCD”,X+”BCD”)A)A B)BCD C)ABCD D)A BCD

13、在下面的Visual FoxPro表达式中,运算结果为逻辑真的是(B)A)EMPTY(.NULL.)B)LIKE(‘xy?’,’xyz’)C)AT(‘xy’,’ancxyz’)D)ISNULL(SPACE(0))

14、下面关于过程调用的叙述中,正确的是(C)A)实参与形参的数量必须相等

B)当实参的数量多于形参的数量时,多余的实参被忽略 C)当形参的数量多于实参的数量时,多余的形参取逻辑假 D)上面B)和C)都对

15、如果一个过程不包含RETURN语句,或者RETURN语句中没有指定表达式,那么该过程(C)

A)没有返回值 B)返回0 C)返回.T.D)返回.F.16、有如下程序: INPUT TO A IF A=10 S=0 ENDIF S=1 ?S 假定从键盘输入的A的值是数值型,那么上面程序的执行结果是(B)A)0 B)1 C)由A的值决定 D)程序出错

17、在Visual FoxPro中,有如下内存变量赋值语句: X={^2001-07-28 10:15:20 PM} Y=.T.M=$123.45 N=123.45 Z=”123.24”

执行上述赋值语句之后,内存变量X、Y、M、N和Z的数据类型分别是(D)A)D、L、Y、N、C B)D、L、M、N、C C)T、L、M、N、C D)T、L、Y、N、C

18、打开一个数据库的命令是(D)

A)USE B)USE DATABASE C)OPEN D)OPEN DATABASE

19、Visual FoxPro数据库文件是(B)

A)是存放用户数据的文件 B)是管理数据库对象的系统文件 C)是存放用户数据和系统数据的文件 D)前三种说法都对 20、以下关于自由表的叙述正确的是(C)A)全部是用以前版本的FOXPRO(FoxBASE)建立的表

B)可以用VISUAL FOXPRO建立,但是不能把它添加到数据库中

C)自由表可以添加到数据库中,数据库表也可以从数据库中移出成为自由表 D)自由表可以添加到数据库中,但数据库表不可以从数据库中移出成为自由表

三、填空题(每空0。5分,共15分)

1、数据模型不仅表示反映事物本身的数据,而且表示(事物之间的联系)

2、二维表中的列称为关系的(属性)二维表中的行称为关系的(元组)

3、退出Visual FoxPro 系统的命令是(QUIT)

4、Visual FoxPro不允许在关键字段中有重复值或(空值)

5、安装完Visual FoxPro之后,系统自动用一些默认值来设置环境,要指定自己的系统环境,可单击(工具)菜单下的(选项)菜单项

6、在Visual FoxPro中,常量¥960.10的数据类型是(货币型或Y),常量{^2006-10-10,15:30:00}的数据类型是(日期时间型或T)

7、要显示名字以MY开头的所有内存变量,应当使用命令LIST MEMORY(LIKE MY*).8、顺序执行下列操作后,屏幕最后显示的结果是(D)和(C).Y=DATE()H=DTOC(Y)?VARTYPE(Y),VARTYPE(H)

9、在Visual FoxPro中,编辑已有程序文件mypro.prg的命令是(MODIFY COMMAND mypro);执行该程序文件的命令是(DO mypro).10、过程文件的默认扩展名是(.prg),打开过程文件p1的命令是(SET PROCEDURE TO pl)

11、Visual FoxPro的主索引和候选索引可以保证数据的(实体)完整性。

12、实现表之间临时关联的命令是(SET RELATION)

13、在Visual FoxPro中所谓自由表就是那些不属于任何(数据库)-的表。

14、在Visual FoxPro中假定数据库表S(学号,姓名,性别,年龄)和SC(学号,课程号,成绩)之间使用“学号”建立了表之间的联系,在参照完整性的更新规则、删除规则和插入规则中选择设置了“(限制)”,那么如果表S所有的记录在表SC中都有相关的记录进行连接,则不允许修改表S中的学号字段值。

15、SQL支持集合的并运算,运算符是(UNION)

16、在Visual FoxPro中SQL DELETE 命令是(逻辑)删除记录

17、SQL DELETE语句为了将查询结果存放到临时表中应该使用(INTO CURSOR)短语。

18、如下命令将“产品”表的“名称”字段名修改为“产品名称”: ALTER TABLE 产品 RENAME(COLUMN)名称TO产品名称

19、假设“歌手”表中有“歌手号”、“姓名”和“最后得分”3个字段,“最后得分”越高名次越靠前,查询前10名歌手的SQL语句是:SELECT*(TOP 10)FROM歌手ORDER BY 最后得分(DESC)20、查询设计器的筛选选项卡用来指定查询的(条件)。

21、通过在Visual FoxPro的视图,不仅可以查询数据库表,还可以(操作或更新)数据库表。

22、建立远程视图必须首先建立与远程数据库的(连接)。

23、在Visual FoxPro中为了通过视图修改表中的数据,需要在试图设计器的(更新条件)选项卡中设置有关属性。

四、判断题(每小题1分,共10分)

1、Visual FoxPro参照完整性规则不包括查询规则(√)

2、设有两个数据库表,父表和子表之间是一对多的联系,为控制父表和子表中数据的一致性,可以设置“参照完整性规则”,要求这两个表在父表连接字段上建立普通索引,在子表连接字段上建立主索引(×)

3、在Visual FoxPro中,使用LOCAT ALL FOR命令按条件查找记录,可以通过EOF()函数返回.F.值来判断命令查找到满足条件的记录?(√)

4、SQL的操作语句不包括UPDATE(×)

5、SQL语句中删除表的命令是DROP TABLE(√)

6、假设数据库中有“歌手”表,为其增加一个字段“最后得分”的SQL语句是ALTER TABLE歌手ADD最后得分F(6,2)(√)

7、SQL命令:ALTER TABLE S ADD 年龄CHECK 年龄>15 AND 年龄<30,命令的含义是给数据库表S增加一个“年龄”字段(√)

8、查询设计器中包括的选项卡有条件、排序依据、分组依据(×)

9、在Visual FoxPro中,查询是一个预先定义好的SQL SELECT语句文件(√)

10、在Visual FoxPro中,通过视图可以对表进行更新(√)

五、程序填空(每空5分,共10分)请对计算乘法表XY.PRG的程序填空: SET TAL OFF CLEAR FOR J=1 TO 9 ?STR(J,2)+′)′

FOR(K=1 TO J)??(str(j*k,6))ENDFOR ? ENDFOR RETURN

六、程序设计题(每小题10分,共20分)

1、编写程序求S=1+2+……+100的值 Clear S=0 I=1 Do while i<=100 S=s+1 I=i+1 Enddo ?”s=”,s Return

2、编写程序,判断一个大于3的自然数是否为素数 Clear Input “请输入自然数(>=3):” to n F=0 I=2 Do while i<=int(sqrt(n))If mod(n,i)<>0 I=i+1 Loop Else F=1 Exit Endif Enddo

?str(n,3)+”是素数” Else ?str(n,3)+”不是素数” Endif Return

2008/2009学年第二学期数据库期末考试卷

班级:财管(08)01班 姓名:

一、名词解释(每小题3分,共15分)

1、数据:是指存储在某一种媒体上能够识别的物理符号。

2、数据库应用系统:是指系统开发人员利用数据库系统资源开发出来的、面向某一类实际应用的应用软件系统。

3、关键字:属性或属性的结合,关键字的值能够惟一地标识一个元组。

4、常量:通常指以文字串形式出现在代码中的数据,代表一个具体的、不变的值。

5、表达式:是由常量、变量和函数通过特定的运算符连接起来的式子。

二、选择题(每小题1。5分,共30分)

1、数据库DB、数据库系统DBS数据库管理系统DBMS三者之间的关系是(A)A)DBS包括DB和DBMS B)DBMS包括DB和DBS C)DB包括DBS和DBMS D)DBS就是DB,也就是DBMS

2、关系数据库的任何检索操作所涉及的三种基本运算不包括(B)A连接 B)比较 C)选择 D)投影

3、数据库管理员的主要职责不包括(C)

A)参与数据库的规划、设计和建立 B)规划和实施数据库备份和恢复 D)开发数据库应用系统 D)规划和实施数据库备份和恢复

4、显示与隐藏命令窗口的错误操作是(B)

A)单击常用工具栏上的“命令窗口”按钮 B)退出Visual FoxPro,再重新打开

C)分别按Ctrl+F4和Ctrl+F2组合键 D)通过“窗口”菜单下的“命令窗口”选项来切换

5、在选项对话框的“文件位置”选项卡中可以设置(B)A表单的默认大小 B)默认目录 C)日期和时间的显示格式 D)程序代码的颜色

6、项目管理器的“文档” 选项卡用于显示和管理(D)

A表单、报表和查询 B)数据库、表单和报表 C)查询、报表和视图 D)表单、报表和标签

7、为了对表单中的多个同类控制进行统一格式化,可以使用(B)

A)自动格式设计器 B)自动格式生成器 C)自动格式向导 D)命令按钮组生成器

8、在Visual FoxPro6.0中修改数据库、表单、报表等组件的可视化工具是(B)A)向导 B)设计器 C)生成器 D)项目管理器

9、要想将日期型或日期时间型数据中的年月日分隔符用竖杠(|)表示,错误的设置命令是(D)

A)SET MARK TO”|” B)SET MARK TO’|’ C)SET MARK TO[|] D)SET MARK TO |

10、在下面的Visual FoxPro表达式中,不正确的是(C)

A){^2001-05-01 10:10:10 AM}-10 B){^2001-05-01}-DATEC()C){^2001-05-01}+DATE()D)[^2001-05-01]+[1000]

11、如果内存变量和字段变量均有变量名“姓名”,那么引用内存变量的正确方法是(D)

A)M.姓名 B)M->姓名 C)姓名 D)A)和B)都可以

7、设D=5>6,命令?VARTYPE(D)的输出值是(A)A)L B)C C)N D)D

12、在下列函数中,函数值为数值的是(C)

A)BOF()B)CTOD(‘01/01/96’)C)AT(‘人民’,’中华人民共和国’)D)SUBSTR(DTOC(DATE()),7)

13、表达式VAL(SUBS(“奔腾586”,5,1))*LEN(“Visual FoxPro”)的结果是(C)

A)63.00 B)64.00 C)65.00 D)66.00

14、有如下赋值语句:a=“你好“,b=“大家”,结果为“大家好“的表达式是(D)

A)b+AT(a,1)B)b+RIGHT(a,1)C)b+LEFT(a,3,4)D)b+RIGHT(a,2)

15、要将当前表当前记录数据复制到数组中,可以使用命令:(B)A)GATHE TO B)SCATTER TO C)GATHER FROM D)SCATTER FROM

16、在Visual FoxPro中,用于建立或修改过程文件的命令式(B)A)MODIFY<文件名> B)MODIFY COMMAND<文件名>

C)MODIFY PROCEDURE<文件名> D)上面B)和C)都对

17、有一分支程序为: IF S>100 DO P1.PRG ELSE IF S>10 DO P2.PRG ELSE IF S>1 DO P3.PRG ELSE DO P4.PRG ENDIF ENDIF ENDIF 那么执行P3.PRG的条件是(D)

A)S>1

B)S>1ANDS>100

D)S>1ANDS<=10

18、有如下程序文件mal.prg: SET UDFPARMS TO VALUE n=1 DO procl WITH n ?n+2 PROCEDURE procl PARAMETERS m FOR k=2TO4 M=m+k ENDFOR RETURN 在命令窗口输入DO ma l命令后,程序的输出结果是(A)12 B)11 C)10 D)3

C)S>1ANDS<100 A)

19、在Visual FoxPro中不允许出现重复字段值的索引是(A)A)候选索引和主索引 B)普通索引和唯一索引 C)唯一索引和主索引 D)唯一索引 20、要为当前表所有职工增加100元工资应该使用命令(D)A)CHANGE工资WITH工资+100 B)REPLACE工资WITH工资+100 C)CHANGE ALL工资WITH工资+100 D)REPLACE ALL工资WITH工资+100

三、填空题(每空0。5分,共15分)

1、用二维表的 形式来表示实体之间联系的 数据模型称为(关系模型)

2、在关系数据库的基本操作中,从表中取出满足条件元组称为(选择);把俩个关系中的相同属性值的元组连接到一起,并去掉重复属性形成新的二维表的操作称为(自然连接);从表中抽取属性值满足条件的列的操作称为(投影)

3、在Visual FoxPro的表之间建立一对多联系是把(“一方”)的主关键字或侯选关键字字段添加到(“多方”)的表中

4、要想清除主窗口屏幕,应使用命令(CLEAR)

5、要设置日期和时间的显示格式,应当选择“选项”对话框的(区域)选项卡。

6、项目管理器文件的扩展名是(pjx)

7、扩展名为.prg的程序文件在项目管理器的“全部”和(代码)的选项卡中显示和管理

8、要把项目管理器拆分成独立的浮动窗口,必须首先(折叠)项目管理器窗口。

9、要将数组XYZ中的数据复制到表的当前记录中,并且包括备注型字段,应使用命令(GATHER FROM)XYZ MEMO.10、函数TIME()返回值的数据类型是(字符型或C);命令?ROUND(337.2007,3)的执行结果是(337.201);命令?LEN(SPACE(3)-SPACE(2))的执行结果是(5).11、顺序执行下列操作后,屏幕最后显示的结果是(6)和(2).X=”迎接2008年北京奥运会” ?AT(“0”,X)?OCCURS(“0”,X)

12、按作用域划分,将能够在建立它的模块及其下属各模块中使用的变量称为(私有变量);将只能在建立它的模块中使用的变量称为(局部变量).13、数据库表之间的关联通过猪表的(主)索引和子表的(普通)索引实现。

14、在定义字段有效性规则时,在规则框中输入的表达式类型是(逻辑型)

15、在Visual FoxPro中,索引文件分为独立索引文件、复合索引文件和结构复合索引文件3种。在表设计中建立的索引都存放在扩展名为(cdx)的索引文件中。

16、在指定字段或表达式中不允许出现重复值的索引是(主索引和候选索引)

17、在SQL语句中空值用(NULL)表示

18、在SQL DELETE 中用于计算检索的函数有COUNT、(avg)、(sum)、MAX和MIN。

19、在SQL DELETE 语句中为了将查询结果存放到永久表应该使用(INTO TABLE或 INTO N DBF)短语。

20、在Visual FoxPro中,用SQL语句创建表时定义主索引;实现实体完整性规则使用的短语是(PRIMARY KEY)

21、在Visual FoxPro中,如果要将学生表S(学号,姓名,性别,年龄)中“年龄”属性删除,正确的SQL命令是ALTER TABLE S(DROP COLUMN)年龄。

四、判断题(每小题1分,共10分)

1、在创建数据库表结构时,为该表中一些字段建立普通索引,其目的是为了对表进行实体完整性约束(×)

2、在Visual FoxPro 中,使用LOCAT FOR命令按条件查找记录,当查找当满足条件的第一条记录后,如果还需要查找下一条满足条件的记录,应使用命令SKIP命令(×)

3、在Visual FoxPro中,如果在表之间的联系中设置了参照完整性规则,并在删除规则中选择了“限制”,当删除父表中的记录时,系统反应是不准删除父表中的记录(√)

4、SQL语句中条件短语的关键字是WHILE(×)

5、SQL语句中修改表结构的命令是MODIFY STRUCTURE(×)

6、数据库表“评分”有歌手号、分数和评委号三个字段,假设某记录的字段值分别是1001、9.9和105,插入该记录到“评分”表的SQL语句是INSERT INTO评分(歌手号,分数,评委号)VALUES(“1001”,9.9,”105”)(√)

7、假设同一名称的产品有不同的型号和产地,则计算每种产品平均单价的SQL语句是SELSCT 产品名称,AVG(单价)FROM产品GROUP BY 产品名称(√)

8、在当前数据库中根据“歌手”表建立视图myview,视图中包括了“歌手号”

左边第一位是“1”的所有记录,正确的SQL语句是CHEATE VIEW myview AS SELECT*FROM歌手 WHERE LEFT(歌手号,1)=“1”(√)

9、删除视图myview 的命令是DROP VIEW myview(√)

10、在Visual FoxPro中,通过视图可以对表进行查询(√)

五、程序填空(每空5分,共10分)

下面程序求数组中各元素的值的和,请完善程序。SET UDFPARMS TO(REFERENCE)DIMENSION x(10)FOR i=1 TO 10 INPUT”x(“+STR(i,2)+”)=”TO x(i)ENDFOR ?“各元素值的和为:”,f(x)RETURN PROCEDURE f PARAMETERS y(s=0)FOR i=1TO10(s=s+y(i))ENDFOR RETURN s

六、程序设计题(每小题10分,共20分)

1、编程找出100~999之间的所有“水仙花数”,所谓“水仙花数”是指一个三位数,其各位的立方和等于该数本身。Clear For i=100 to 999 A=int(i/100)B=int((i-a*100)/10)C=i-int(i/10)*10 If i=a^3+b^3+c^3 ?i Endif

Endfor Return

2、编程从键盘上输入十个数,然后找出其中的最大数和最小数。Clear Input “请输入一个数:” to a Store a to min,max For i=2 to 9 Input “请输入一个数:”If a>max then Max=a Endif If a

上一篇:家乡的凤凰广场作文350字下一篇:大学教师党性分析报告