vfp二级选择题(精选5篇)
vfp二级选择题 第1篇
VFP二级考试应试策略
一.考试时间
江苏省计算机等级考试的秋季考试一般安排在10月中旬的周末,一般要连续占用两个周末,所有的笔试均安排在第一个周六的上午,上机考试在笔试之后。二级考试中,不同的语种上机日期安排不同,一般是安排在第一个周日、第二个周六、周日。VFP笔试:考试时间为120分钟。VFP上机:每场考试时间为70分钟。二.考试形式
笔试部分:共60分,基础知识的单选题20分(所有语种相同,每题1分),VFP知识的单选题10分(每题1分),VFP知识的填空题30分(每空1分)。
答题要求:单选题的答案必须涂划在专用答题卡上;填空题的答案必须写在专用答题纸上(填空时注意:每个空要按标号顺序填,一空占一行,不是一题一行,因为有的题目一题包含多个空)。
上机部分:共40分,各场次的考试内容不同,但题型和知识点类似,都是考5道关于VFP的操作题,每题分值不同。1.项目、数据库的基本操作 2.设计查询 3.设计菜单 4.设计表单 5.程序改错。
答题要求:先从资源管理器中运行“上机考试”,输入自己的姓名、准考证号和试卷代号,输入完毕关闭窗口。然后进入VFP应用程序界面,将系统默认路径设置为A盘,再开始直接在考试软盘上按要求做题,中途不要随意抽出软盘,考试结束时要先退出VFP系统再取出软盘,贴上标签上交,标签上需要填写学校名称、自己的姓名和准考证号、考试的语种VFP试卷代号。三.合格标准
VFP二级考试最终的合格线以往是按全省平均分划定的,每次公布的成绩都是经过系数处理过的,并没有达到考试大纲中要求的60分的及格线,2000秋天的合格线为50分(其中上机成绩不得低于18分),2001年春天的合格线为56分(其中上机成绩不得低于24分),最近几次没有公布,但对笔试的最低分一直没有要求。四.应试策略 1.关于上机(占40分)
从历年的考试情况看,VFP的上机部分比较容易拿分,考试知识点掌握得好、上机操作熟练的同学一般可以得30-35分,建议多做针对性训练,熟练掌握实验指导书和以往上机考试题中涉及到的各项操作,争取拿到30分以上。
VFP上机考试目前采用统一的数据平台——即采用教学方面的数据库,内容和形式与2003年春季上机盘中提供的相同,目的是避免考生在考试时面临新数据平台而产生紧张心理,影响正常水平的发挥。建议考前一定要熟悉此数据平台,多做相关练习。
2.操作步骤:
首场考试学生提前15-20分钟进入机房,其余场次提前10分钟进入机房;
(1)启动VFP应用程序
(2)将考试盘插入软驱
(3)根据试卷提示进行操作:先将系统默认路径设置为A盘 → 从【程序】菜单中选择〖运行〗→在对话框选择 “准考证”(有狐狸头标记的文件)→ 在准考证界面输入本人学号(输入一遍,确认一遍)→单击确定 → 单击退出(可以先单击查看,看看是否输入正确)。
(4)按试卷要求做题,必须先做第一题,因为后面的操作可能与其相关。
(5)做完全部试题后应该先关闭窗口,退出VFP系统,再取出A盘,以免有的内容未保存起来。
(6)在A盘标签上写好:班级、姓名、学号、试卷代号。
(7)将软盘和试卷均交给监考老师后,方可退出考场。不得将试卷带出场外,否则做作弊处理。
2.笔试的基础知识部分(占20分)
建议先仔细看看《计算机文化基础》的计算机基础知识(可以参照【凌风阁】中的教案),以往有些试题考的几乎就是教程中的原话;但应用部分(Windows、Word和Excel)考的是些操作经验和技巧,只看教材收效似乎不明显,最好是多做以往的试题,关键是把握考试知识点,理解相关概念。这部分一般有1-2分反映最新知识的超纲题目,拿高分较难,应该争取拿12-16分。在VFP二级考试中,基础知识占20分,考笔试,题型为选择题,内容是上学期的教材上的,前六章10分,后面的WINDOWS和WORD占10分。
另外提醒:从03年秋天的基础知识题看,新加的内容很多,原因是根据省考试中心要求,从05年春基础知识将采用全新的教材《大学计算机信息技术教程》(张福言 孙志挥编),现在已经出题开始朝此教材靠拢,有条件的同学可以看看此书前几章。3.笔试的单选题(占10分)
这部分相对简单些,一般都是考察对VFP基本概念的理解及常用函数的应用,建议多做VFP学习指导和以往试卷中的题目,在做题的过程中理解并掌握VFP的相关概念和常用函数。这部分比较容易得分,应该争取拿8分以上。4.笔试的填空题(占30分)
这部分涉及的知识面较广,其中必考的有: 数据库的基本概念、常用命令与函数的使用、SELECT-SQL命令、阅读理解程序、面向对象程序设计的概念、常用属性的设置等,建议先多看教材,熟练掌握各章内容,再做些练习,重在理解。这部分较难得高分,应该争取得15-18分以上。
1. 熟练掌握数据库和数据表的常用操作命令,这些命令主要分布在教材的第二、三章
2. 熟练掌握教材第五章中的VFP程序设计,特别是基本的程序结构一定要会用。3. 多做些程序练习,可以先阅读一些示例程序,一定要理解每条语句的含义,并思考能否用其它语句替代,或能否做些更改,然后再自己根据希望的结果,试着编写代码实现自己的想法。
4. 写程序时一定要记住采用规范的书写方法,这样既不容易出错,又能轻松地拿到基本分。即根据逻辑关系采用缩进的形式来写,注意层次感,让人一看一目了然。需要用到程序控制结构时,先把前后配套的代码(如if „„ endif)写出来,然后再在其中添加其它代码。
5.考试注意事项
1)上机考试:最忌讳紧张,应该沉着地从前往后做,记住:不会的或卡壳的操作先丢开,接着往后做,等做完后面的再回过头来解决这些难题。操作过程中遇到不会的内容可以查看帮助——用“索引”:将不会的名词直接输入,然后单击显示,则相关的内容就会出现,若碰到看不懂的英文解释,就直接看其中的使用示例(Example),一般都可以通过示例搞清楚用法的。上机题是按步给分的,每项操作都有相应的分值,不要轻易放弃,更不要拉下题目忘记做。值得注意的是,目前VFP上机盘已采用机器评阅,它是采用与标准答案比较的方式进行的,所以答题时对空格、标点符号等不可随便添加或减少;但对实在不会设置的属性或代码,也不要空着,填些相近的内容总比什么都没有强点,一般当总分与合格线只差1分时(对这样的试卷一般会再重查一遍,看能否再找出1分),没准老师会手下留情,对这样的情况也给点分。
上机考试容易发生因考生误操作而死机的情况,不幸遇到时要沉着应付:按Ctrl+Alt+Del一次,结束当前任务(有时机器反应慢,应该耐心等片刻,不要不停地按那三个键,那样会造成机器重新启动,又多耽误几分钟),关闭VFP,然后再重新进入VFP系统,接着做题,这时不需要再输入准考证号。
若遇到机器故障自己无法排除时,应及时报告监考老师协助解决或更换机器接着考试。2)笔试:最忌讳粗心,应该看清题意再下笔(特别是平时练习题做得多的同学更不要想当然的做,要留意题意与以往的练习题是否有什么差别),记住:遇到没有把握的就放下,先做有把握的;不要提前交卷,不要轻言放弃,不要空着任何一道题,实在不会就猜一个。
前面已经提到,合格线是按全省平均分划定的,水涨船高,面对较难的试卷不要灰心,面对简单的试卷也不要得意忘形。总之,学得差些的同学应该争取达到合格线,学得好些的同学就应争取拿优秀啦!五. VFP的重点与难点
VFP的主要内容分为两大部分:数据库的基本操作和应用程序的开发。其中重点内容有:(1)数据库与数据表的基本操作,主要包括:创建和修改数据表结构,设置库表字段的高级属性,记录的输入和维护,建立结构式复合索引,建立多表之间的关系并设置参照完整性。(2)用查询设计器设计查询和视图
(3)常用命令,主要有:数据库的打开、修改和删除,记录的浏览、定位、筛选、统计、查找、复制、追加、替换和删除,程序和表单的执行,系统环境的设置等。
(4)常用函数,特别是部分常用的数据转换函数、日期和时间函数、字符函数、数值函数、数据库操作函数。
(5)SQL命令,特别是SELECT-SQL、UPDATE-SQL、CREATE TABLE-SQL命令。(6)面向对象程序设计的基本概念(7)常用控件的关键性事件、属性和方法
(8)用表单向导和表单设计器设计与数据绑定型的表单(9)结构化程序设计的基本语句(10)用菜单设计器设计各种菜单
VFP的难点内容有:
(1)设置数据库表中字段的有效性规则(2)设置多个表之间的参照完整性(3)构造多字段索引表达式
(4)设计含有表达式和分组条件的多表查询与参数化视图(5)为对象编写事件代码和方法程序(6)程序设计
VFP复习要点
1、熟悉项目管理器的各项基本操作,复习一下关于数据库的知识,表的字段属性和一些有效性规则以及表与表之间的关系设定
2、查询的设计:有用SQL直接写的,还有有设计器的以及两者结合进行设计,还有最后的查询结果的去向(保存的方式)
3、视图里大家注意一下参数化视图的做法
4、表单的设计了(我想这应该是这次考试的重点和难点了)对于这个不外乎对表单控件和表单属性的一些用法和设置(大家可要用好生成器了)然后就是一些最基本代码(如果你对编程思想熟悉的话,你现在一定会笑了,不过你不熟悉也不要怕,你只要老师告诉你的一些代码记住就行了,不过,可不要死记硬背,要找规律)
5、对类的设计了(一般就是让你在表单中做一点东西,然后你另存为类,给出规定的名字和路径就可以了,所以考察这个,也就是考察你做表单了;但是也有特殊的就是他给你一个类,让你在做一点东西,后用这个类,做一点东西,也就是考察你做表单了)
6.对于菜单,最怕的就是写代码了,不过你不要怕,按照卷面要求一步一步做就可以了。要注意一些基本操作:如设置快捷键、热键、加分组线等。
考试的一些新变化
1. 笔试的填空题部分将增加阅读理解程序的份量,程序内容主要是关于数据库和数据表的操作(不同于VB或C语言中那种为考算法而设计的程序);
2. 上机题的查询操作部分将由2小题合并成1题,分值也由10分降为5分; 3. 上机操作题中将增加大约5分的关于程序设计的内容,这部分代码将以菜单的过程代码设计和表单的事件代码设计的形式出现,不作为单独的程序设计题目出现。(如:添加代码使表单上的某个控件左右移动)
4. 上机操作题中不考类的设计。
其它内容和形式基本保持不变,数据平台仍然沿用近两年所采用的教学数据。
vfp二级选择题 第2篇
第 1 章
数据结构与算法
考点1:算法具有4个基本特征:可行性、确定性、有穷性、拥有足够的情报。确定性:是指算法中每一个步骤都必须是有明确定义的,不允许模棱两可的定义 有穷性:是指算法必须能在有限的时间内做完
一个算法由两种基本要素组成:一是对数据对象的运算和操作,二是算法的控制结构 考点2:算法复杂度包括时间复杂度和空间复杂度 时间复杂度
执行算法所需要的计算工作量 空间复杂度
执行这个算法所需要的内存空间 考点3:数据结构
一:讨论的问题:1.数据元素之间的逻辑关系,即数据的逻辑结构 2.数据元素在计算机中的存储关系,即数据的存储结构 3.对各种数据结构进行的运算
考点4:数据结构分为两大类型:线性结构与非线性结构。(1)如果一个非空的数据结构满足下列两个条件: ① 有且只有一个根结点;
② 每一个结点最多有一个前件,也最多有一个后件。则称该数据结构为线性结构。
如果一个数据结构不是线性结构,则称之为非线性结构。考点5:线性表
特点:(1)线性表中所有元素所占的存储空间是连续的
(2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的 考点5: 栈的基本概念
栈(stack)是一种特殊的线性表,是限定只在一端进行插入与删除的线性表。栈是按照“先进后出”或“后进先出”的原则组织数据的。考点6:队列的基本概念
队列是只允许在一端进行删除,在另一端进行插入的顺序表,通常将允许删除的这一端称为队头,允许插入的这一端称为队尾。当表中没有元素时称为空队列。即先进先出表。循环队列就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用
考点7: 链表
在链式存储方式中,要求每个结点由两部分组成:一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。其中指针用于指向该结点的前一个或后一个结点(即前件或后件)。考点8:二叉树性质
(1)
在树结构中,每一个结点只有一个前件,称为父结点,没有父结点的只有一个,成为根结点
(2)
没有后件的结点成为叶子结点
(3)
一个结点所拥有的后件个数称为该结点的度,在树中,所有结点中最大的度称为树的度
(4)
树的最大层次称为树的深度
(5)
在二叉树的第k层上,最多有2^(k-1)个结点(6)
深度为m的二叉树最多有2^m-1个结点(7)
任意一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个(8)
满二叉树:除最后一层外,每一层上的所有结点都有两个子节点
(9)
完全二叉树:除最后一层外,每一层上的结点数都达到最大值,在最后一层上只缺少右边的若干结点
考点9: 二叉树的遍历
根据访问根结点的次序,二叉树的遍历分为三类:前序遍历、中序遍历和后序遍历。(1)前序遍历
先访问根结点,然后遍历左子树,最后遍历右子树;并且在遍历左、右子树 时,仍需先访问根结点,然后遍历左子树,最后遍历右子树。(2)中序遍历
先遍历左子树、然后访问根结点,最后遍历右子树;并且,在遍历左、右子 树时,仍然先遍历左子树,然后访问根结点,最后遍历右子树。例如,对图 1-1 中的二叉树进行中序遍历的结果(或称为该二叉树的中序序列)(3)后序遍历
先遍历左子树、然后遍历右子树,最后访问根结点;并且,在遍历左、右子 树时,仍然先遍历左子树,然后遍历右子树,最后访问根结点。考点10:各种排序的复杂度(1)顺序查找需要比较n 次
(2)冒泡排序在最坏的情况下需要比较次数为n(n-1)/2。(3)简单插入排序法,最坏情况需要n(n-1)/2 次比较;(4)希尔排序法,最坏情况需要O(n1.5)次比较。
(5)简单选择排序法,最坏情况需要n(n-1)/2 次比较;(6)堆排序法,最坏情况需要O(nlog2n)次比较。
第二章:程序设计基础
考点1:结构化程序设计的原则
(1)自顶向上:先考虑整体,再考虑细节;先考虑全局目标,再考虑局部目标;(2)逐步求精:对复杂问题应设计一些子目标作为过渡,逐步细化;
(3)模块化:把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为一个模块。
(4)限制使用goto 语句:在程序开发过程中要限制使用goto 语句。考点2:结构化程序的基本结构
结构化程序的基本结构有三种类型:顺序结构、选择结构和循环结构。
考点3: 面向对象方法涵盖对象及对象属性与方法、类、继承、多态性几个基本要素。对象是面向对象方法中最基本的概念,主要特点:(1)标识惟一型
(2)分类性(3)多态性
(4)封装性
(5)模块独立性好 考点4:消息:对象间的相互合作需要一个机制来协助进行,这个机制就是消息 考点5:继承是面向对象的方法的一个主要特征,分为单继承和多重继承
第三章:软件工程基础
考点1: 计算机软件是包括程序、数据以及相关文档的完整集合,软件工程包括3 个要素:方法、工具和过程
考点2: 软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期还可以分为软件定义、软件开发、软件运行维护阶段 软件定义阶段包括:可行性研究、需求分析
软件开发阶段包括:概要设计、详细设计、实现、测试 软件维护阶段包括:使用、维护、退役
考点3:软件工程的理论和技术性研究主要包括:软件开发技术和软件工程管理 考点4:数据流图图符的含义
圆形表示加工,箭头表示数据流,等于号表示存储文件,矩形表示源、潭
考点5:数据字典:是结构化分析方法的核心,数据字典是对所有与系统相关的数据元素的一个有组织的列表
考点6:软件需求规格说明书是需求分析阶段的最后成果 考点7:模块独立性
衡量模块独立性的定性标准:内聚性与耦合性
内聚性:是一个模块内部各个元素间彼此结合的紧密程度的度量 耦合性:模块间互相连接的紧密程度的度量 一个优秀的设计应尽量做到高内聚、低耦合
考点8:典型的数据流类型有两种:变换型和事务型 考点9:程序流程图图符的含义
考点10:软件测试是为了发现错误而执行程序的过程 静态测试是由人工进行的测试 动态测试是基于计算机的测试
考点11:白盒测试主要方法:逻辑覆盖、基本路径测试
黑盒测试主要方法:等价类划分法、边界值分析法、错误推测法、因果图等
软件测试过程一般按4个步骤来进行:单元测试、集成测试、验收测试、系统测试
考点12:程序调试的任务是诊断和改正程序中的错误,与测试不同,软件测试是尽可能多的发现错误
第四章:数据库设计基础
考点1:数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织,数据操纵,数据维护,控制及保护和数据服务等 考点2:数据库系统提供的数据语言:(1)
数据定义语言:该语言负责数据的模式定义与数据的物理存取构建(2)
数据操纵语言负责数据的操纵,包括查询及增、删、改等
(3)
数据控制语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等 考点3:数据库系统由如下几部分组成:数据库、数据库管理系统、数据库管理员、硬件平台与软件平台
考点4:数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序,数据独立性分为物理独立性和逻辑独立性 考点5:数据库的三级模式
(1)
概念模式:是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图(2)
外模式:是用户的数据视图,也就是用户所见到的数据模式(3)
内模式:它给出了数据库物理存储结构与物理存取方法 考点6:数据模型所描述的内容有三个方面:(1)
数据结构:主要描述数据的类型、内容、性质以及数据间的联系(2)
数据操作:主要描述在相应数据结构上的操作类型与操作方式(3)
数据约束:主要描述数据结构内数据间的语法、语义联系 考点7:E-R模型
(1)E-R模型由三个基本概念组成:实体、联系和属性
(2)在E-R图示法中:矩形表示实体集,椭圆形表示属性,菱形表示联系
考点8:关系模型的约束包括实体完整性约束、参照完整性约束、用户自定义完整性约束 考点9:关系代数
并运算:关系R与S经并运算后所得到的关系是由那些在R内或在S内的有序组 交运算:关系R与S经交运算后所得到的关系是由那些即在R内又在S内的有序组 差运算:关系R与S经差运算后所得到的关系是由那些在R内但不在S内的有序组 自然连接: 考点10:E-R图与关系的转换
E-R图中实体与联系都可以转换成关系,属性也可以转换成关系的属性 1.1 数据库基础知识
考点1 计算机数据管理的发展 1数据与数据处理
数据是指存储在某一种媒体上能够识别的物理符号。数据处理的中心问题是数据管理。2计算机数据管理(l)人工管理。(2)文件系统。(3)数据库系统。
(4)分布式数据库系统。(5)面向对象数据库系统。3数据库管理系统
为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS(DataBase Management System)。
图1-1 数据库系统中数据与程序的关系 考点2 数据库系统 1有关数据库的概念
(1)数据库(DataBase):存储在计算机存储设备上、结构化的相关数据的集合。
(2)数据库应用系统(DBAS):是由系统开发人员利用数据库系统资源开发出来的,面向某一类实际应用的应用软件系统。
(3)数据库管理系统(DBMS):对数据实行专门管理,提供安全性和完整性等统一机制,可以对数据库的建立、使用和维护进行管理。
(4)数据库系统(DBS):是指引进数据库技术后的计算机系统,实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。数据库系统由硬件系统、数据库、数据库管理系统及相关软件、数据库管理员和用户等部分组成。2数据库系统的特点
(l)实现数据共享,减少数据冗余。(2)采用特定的数据模型。(3)具有较高的数据独立性。(4)具有统一的数据控制功能。考点3 数据模型 1实体的描述(1)实体。
(2)实体的属性。(3)实体集和实体型。
2实体间联系及联系的种类(1)一对一联系。(2)一对多联系。(3)多对多联系。3数据模型简介
为了反映事物本身及事物之间的各种联系,数据库中的数据必须有一定的结构,这种结构用数据模型来表示,通常有以下3种。(1)层次数据模型。(2)网状数据模型。(3)关系数据模型。小提示:
数据库DB、数据库系统DBS和数据库管理系统DBMS之间的关系是DBS包括DB和DBMS。1.2 关系模型
关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这种用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。1关系术语
(l)关系:一个关系就是一张二维表,每个关系有一个关系名。在Visual FoxPro中一个关系存储为一个文件,扩展名为DBF,称为“表”。
对关系的描述称为关系模式,一个关系模式对应一个关系的结构,格式为: 关系名(属性名1,属性名2,„,属性名n)(2)元组:在一个二维表中,水平方向的行称为元组,每一行为一个元组。(3)属性:将二维表中垂直方向的列称为属性,每一列都有一个属性名。(4)域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。
(5)关键字:属性或属性的组合,其值能够唯一地标识一个元组。在Visual FoxPro中,主关键字和候选关键字就起唯一标志一个元组的作用。
(6)外部关键字:如果表中一个字段不是本表的主关键字或候选关键字,而是另一个表的主关键字或候选关键字,那么这个字段(属性)就称为外部关键字。2关系的特点
(1)关系必须规范化。
(2)在同一个关系中不能出现同名属性,Visual FoxPro中表示为字段名的不同。(3)关系中不允许有完全相同的元组,即冗余。(4)在一个关系中元组的次序无关紧要。(5)在一个关系中列的次序无关紧要。考点5 关系运算
对关系数据库进行查询时,需要找到用户感兴趣的数据,这就需要对关系进行一定的关系运算,关系的基本运算有两类:传统的集合运算和专门的关系运算。1传统的集合运算
(1)并:两个相同结构关系的并是由属于这两个关系的全部元组组成的集合。
(2)差:两个相同结构关系的差是由属于前一个关系的元组而不属于后一个关系的元组组成的集合。例如,关系R和S的差结果是由属于R但不属于S的元组组成的集合。(3)交:两个相同结构关系的交是由属于这两个关系所共有的元组组成的集合。2专门的关系运算
(1)选择:从关系中找出满足给定条件的元组的操作。(2)投影:从关系模式中指定若干个属性组成新的关系:
(3)连接:关系的横向结合,将两个关系模式拼接成一个更宽的关系模式。
(4)自然连接:在连接运算中,按照字段值对应相等为条件进行的连接操作称为等值连接。自然连接是去掉重复属性的等值连接。小提示:
选择和投影运算的操作对象只是一个表,相当于对一个二维表进行切割。连接运算则需要把两个表作为操作对象。如果两个表以上进行连接,应当两两进行连接。1.3 数据库设计基础 考点6 数据库设计步骤 1设计原则
(l)关系数据库的设计应遵从概念单一化“一事一地”的原则。(2)避免在表之间出现重复字段。
(3)表中的字段必须是原始数据和基本数据元素。(4)用外部关键字保证有关联的表之间的联系。2设计步骤
利用Visual FoxPro来开发数据库应用系统,可以按照以下步骤来设计。(1)需求分析。(2)确定需求表C(3)确定需求字段。(4)确定联系。(5)设计精确
1.4 Visual FoxPro系统概述 考点7 Visual FoxPro的特点(l)增强项目与数据库管理。
(2)提高应用程序开发的生产率。(3)互操作性与支持Internet。(4)充分利用已有数据。2.1程序与程序文件 程序与程序文件
考点1 程序的概念、建立与执行 1程序的概念
程序是能够完成一定任务的命令集合。这组命令被存放在称为程序文件或命令文件的文本文件中。当运行程序时,系统会按照一定的次序自动执行包含在程序文件中的命令。2程序文件的建立与修改
程序文件的建立与修改一般是通过调用系统内置的文本编辑器来进行的。其建立步骤如下。(l)打开文本编辑窗口。
(2)在文本编辑窗口中输入程序内容,此处所输入的程序命令不会马上被执行。
(3)编辑完成后,从“文件”菜单中选择“保存”命令或按快捷键Ctrl+W保存程序文件。3打开或修改程序文件的方法
(1)从“文件”菜单中选择“打开”命令,弹出“打开”对话框。(2)在“文件类型”列表框中选择“程序”。(3)在文件列表框中选定要修改的文件,并单击“确定”按钮。
(4)编辑修改后,从“文件”菜单中选择“保存”命令或按快捷键Ctrl+W保存程序文件,若要放弃修改,可直接按Esc键,或从“文件”菜单中选择“还原”命令。4程序文件的执行
程序文件建立后,可使用多种方式、多次执行它,常用的以下有两种方式。(l)菜单方式。(2)命令方式。
考点2 简单的输入输出命令
程序一般都包含数据输入、数据处理和数据输出3个部分。1 INPUT命令
格式:INPUT[<字符表达式>]TO<内存变量> 功能:该命令等待用户从键盘输入数据,当用户回车后,系统将表达式的值存入指定的内存变量。
注释:输入的数据可以是常量、变量,也可以是更为一般的表达式。但不能不输入任何内容直接按回车键输入字符串时必须加定界符,输入逻辑型常量时要用圆点定界(如.T.,.F.),则输入日期时间型常量时要用大括号(如{^2001-03-01})。2 ACCEPT命令
格式:ACCEPT[<字符表达式>]TO<内存变量> 功能:该命令等待用户从键盘输入字符串,当用户回车后,系统将表达式的值存入指定的内存变量。
注释:该命令只能接收字符串。用户在输入字符串时不需要加定界符;否则,系统会把定界符作为字符串本身的一部分。如果不输入任何内容而直接按回车键,系统会把空串赋给指定的内存变量。3 WAIT命令
格式:WAIT[<字符表达式>][TO<内存变量>][WINDOW[AT<行>,<列>]] [NOWAIT][CLEARINOCLEAR][TIMEOUT<数值表达式>] 功能:该命令显示字符表达式的值作为提示信息,暂停程序的执行,直到用户按任意键或单击鼠标时继续程序运行。
注释:<内存变量>用来保存用户输入的字符,其类型为字符型。若用户按的是Enter键或单击了鼠标,那么<内存变量>中保存的将是空串若不选TO <内存变量>短语,则输入的单字符不保留。小提示:
如果用DO命令执行查询文件、菜单文件,在文件名中必须要包括扩展名(QPR、MPR)。7.2 程序的基本结构
程序结构是指程序中命令或语句执行的流程结构,包括3种基本结构:顺序结构、选择结构和循环结构。考点3 顺序结构
顺序结构是最简单的程序结构,它是按命令在程序中出现的先后次序依次执行。考点4 选择结构
支持选择结构的语句包括条件语句和分支语句。1条件语句 格式: IF<条件> <语句序列1> [ELSE> <语句序列2>] ENDIF 功能:该语句根据<条件>是否成立从两组代码中选择一组执行。语句的执行流程图如图7-1和图7-2所示。
图7-1有ELSE的选择语句
图7-2无ELSE的选择语句 2分支语句
格式:DO CASE CASE<条件1> <语句序列1> CASE<条件2> <语句序列2> ……
CASE<条件n> <语句序列n> [OTHERWISE <语句序列>] ENDCASE
功能:语句执行时,依次判断CASE后面的条件是否成立。分支语句实现的是一种扩展的选择结构,可以根据条件从多组代码中选择一组执行。分支语句的流程如图7-3所示。
图7-3 多分支语句 考点5 循环结构
循环结构也称为重复结构,是指程序在执行的过程中,其中的某段代码被重复执行若一干珠。被重复执行的代码段,通常称为循环体。Visual FoxPro支持循环结构的语句包括:DO WHILE-ENDDO、FOR-ENDFOR和SCAN-ENDSCAN。1 DO WHILEENDFOR语句 格式:
FOR<循环变量>=<初值>TO<终值>[STEP<步长>] <循环体> ENDFOR 功能:首先将初值赋给循环变量,然后判断循环条件是否成立(若步长为正值,则循环条件为<循环变量><=<终值>;若步长为负值,则循环条件为<循环变量>>=<终值>)。如果成立,则执行循环体,然后循环变量增加一个步长值,并再次判断循环条件,一直到条件为假时,退出循环体。该语句通常用于实现循环次数已知情况下的循环结构〕 3 SCAN-ENDSCAN语句 格式:
SCAN[<范围>][FOR<条件1>][WHERE<条件2>] <循环体> ENDSCAN
功能:该循环语句一般用于处理表中记录,语句可指明需要处理的记录范围及应满足的条件。执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令。7.3 多模块程序
模块是一个相对独立的程序段,它可以被其他模块调用,也可以调用其他模块。通常,把被其他模块调用的模块称为子程序,把调用其他模块而没有被其他模块调用的模块称为主程序。应用程序一般都是多模块程序,包含多个程序模块。考点6 模块的定义和调用 1模块的定义
在Visual FoxPro中,模块可以是命令文件,也可以是过程。过程定义的语句格式为: PROCEDURE|FUNCTION<过程名> <命令序列> [RETURN[<表达式>]] [ENDPROCIENDFUNC] 功能说明如下。
(1)PROCEDURE|FUNCTION命令表示一个过程的开始,并命名过程。过程名必须以字母或下划线开头,可以包含数字、字母和下划线。
(2)当程序执行到RETURN命令时,控制将转回到调用处(或命令窗口),并返回表达式的值。若默认RETURN命令,系统将在过程结束处自动调用一条隐含的RETURN命令。(3)ENDPROC|ENDFUNC命令表示一个过程的结束。如果默认此语句,那么过程结束于下一条PROCEDURE|FUNCTION命令或文件尾。2模块的调用
模块调用的格式有两种。
(1)使用DO命令,格式如下。DO<文件名>|<过程名>(2)在名字后加一对小括号,格式如下。<文件名>|<过程名>()3打开过程文件 命令格式如下。
SET PROCEDURE TO[<过程文件1>[,<过程文件2>,„][ADDITIVE] 4关闭过程文件 命令格式如下。
RELEASE PROCEDURE<过程文件1>[,<过程文件2>,„] 考点7 参数传递
模块程序可以接收调用程序传递过来的参数。
(1)PARAMETERS<形参变量1>[,<形参变量2>,„]。(2)LPARAMETERS<形参变量1>[,<形参变量2>,„]。
说明PARAMETERS声明的形参被看做是模块程序中建立的私有变量,LPARAMETERS声明的形参被看做是模块程序中建立的局部变量。除此之外,两条命令无其他区别。不管是PARAMETERS或LPARAMETERS,都应该是模块程序的第一条可执行命令。(1)调用参数调用模块程序参数的格式如下。
DO<文件名>|<过程名>WITH<实参1>[,<实参2>,„] <文件名>|<过程名>(<实参1>[,<实参2>,„])说明:实参可以是常量、变量或一般表达式,调用模块程序时,形参的数目不能少于实参的数目,当形参数目多于实参数目时,多余的形参取初值逻辑假.F.。
(2)参数的传递。模块中参数的传递分为两种:按值传递(实参一般为常量和表达式)和引用传递(实参一般为变量)。参数的传递方式可以重新设置,格式如下。SET UDFPARMS TO VALUE|REFERENCE 考点8 变量的作用域
变量的一个重要属性是作用域。变量的作用域指的是变量在什么范围内是有效或能够被访问的。在Visual FoxPro中,可分为公共变量、私有变量和局部变量3类。1.公共变量
在任何模块中都可使用的变量称为公共变量,公共变量必须先定义后使用,格式如下。PUBLIC<内存变量表> 说明:该命令是建立公共的内存变量,并赋以初值逻辑假.F.。建立好的公共变量一直有效,即使程序结束返回命令窗口也不会消失,只有执行CLEAR MEMORY,RELEASE或QUIT等命令后,才能被释放。2私有变量
在程序中直接使用(没有预先声明),而由系统自动隐含建立的变量都是私有变量。私有变量的作用域是建立它的模块及其下属的各层模块。3局部变量
局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。程序结束时,自动释放局部变量。格式如下 LOCAL<内存变量表> 说明:该变量同样给建立的内存变量赋以初值逻辑假.F.,也必须先定义后使用。当子程序中定义的变量名与主程序中同名时,为避免子程序中的变量值改变主程序中的变量值,可在子程序中使用PRIVATE命令隐藏主程序中可能存在的变量,使这些变量在子程序中暂时无效。格式如下。
(1)PRIVATE<内存变量表>。
(2)PRIVATE ALL[LIKE<通配符>|EXCEPT<通配符>]。说明:该命令并不建立内存变量,它只是隐藏指定的在上层模块中可能已经存在的内存变量,但是当模块程序返回到上层模块时,被隐藏的变量就自动恢复有效性,保持原值。7.4 程序调试
考点9 调试器环境
程序调试是指在发现程序有错误的情况下,确定出错位置并纠正错误。计算机一般能够发现程序的出错位置,但对于计算机不能发现的错误,只能由用户自己来查错。Visual FoxPro提供的功能强大的调试工具—调试器,可帮助我们进行这项工作。调用调试器的方法一般有两种。
(l)选择“工具”菜单中的“调试器”命令。(2)在命令窗口中输入DEBUG命令。考点10 设置断点
可以设置以下4种类型的断点。
(1)在定位处中断:可指定一行代码,当程序调试执行到该行时,中断程序运行。
(2)如果表达式值为真,则在定位处中断:指定一行代码及一个表达式,当程序调试执行到该行代码时,如果表达式值为真,就中断程序运行。
(3)当表达式值为真时中断:可以指定一个表达式,在程序调试执行过程中,当该表达式值为逻辑真.T.时,中断程序运行。
(4)当表达式值改变时中断:可以指定一个表达式,在程序调试执行过程中,当该表达式值改变时,中断程序运行。考点11 “调试”菜单
“调试”菜单包含执行程序、选择执行方式、终止程序执行、修改程序,以及调整程序执行速度等命令。各命令具体功能如下。
(1)运行:执行在跟踪窗口中打开的程序:
(2)继续执行:当程序被中断时,该命令可使程序在中断处继续往下执行。(3)取消:终止程序的调试执行,并关闭程序。
(4)定位修改:终止程序的调试执行,然后在文本编辑窗口中打开调试程序。
(5)跳出:以连续方式而非单步方式继续执行被调用模块程序中的代码,然后在调用程序的调用语句的下一行处中断。
(6)单步:单步执行下一行代码。如果下一行代码调用了过程或者方法程序,那么该过程或者方法程序在后台执行。
(7)单步跟踪:单步执行下一行代码。
(8)运行到光标处:从当前位置执行代码直至光标处中断。
(9)调速:打开“调整运行速度”对话框,设置两代码行执行之间的延迟秒数。
(10)设置下一条语句:程序中断时选择该命令,可使光标所在行成为恢复执行后要执行的语句。
3.1 Visual FoxPro数据库及其建立 考点1 建立和使用数据库 1数据库的建立
(1)在项目管理器中建立数据库。(2)通过“新建”对话框建立数据库。(3)使用命令建立数据库,格式为:
CREATE DATABASE[DatabaseName |?] 2数据库的打开
(1)在项目管理器中打开。(2)通过“打开”对话框打开数据库。(3)使用命令打开数据库,格式为:
OPEN DATABASE[FileName |?][EXCLUSIVE I SHARED] [NOUPDATE] [VALIDATE] 考点2 修改和删除数据库
Visual FoxPro在建立数据库时建立了扩展名分别为dbc、dct和dcx的3个文件,用户不能直接修改这些文件。
Visual FoxPro中修改数据库实际是打开数据库设计器,完成数据库中各种对象的建立、修改和删除等操作。
可以有3种方法打开数据库设计器。(1)从项目管理器中打开数据库设计器。(2)从“打开”对话框中打开数据库设计器。(3)使用命令打开数据库设计器,格式为: MODIFY DATABASE[DatabaseName|?] 在项目管理器中不管删除还是移去数据库文件,都不会删除其所包含的各个对象做口数据表)。如果要在删除数据库的同时删除其所包含的数据表,就必须使用命令,格式为: DELETE DATABASE DatabaseName|?[DELETETABLES][RECYCLE] 小提示:
在Visual FoxPro中,Open DataBase和Modify DataBase命令的区别在于:Open DataBase打开的只是数据库的工作环境,并不会进入数据库设计器;Modify DataBase是打开数据库设计器。4.2 建立数据库表
考点3 在数据库中建立表 在数据库中建立数据表,最直接的方法就是在数据库设计器中利用鼠标右键单击空白处,选择“新建表”命令,在弹出的表设计器中设置数据表结构。另外可以在命令窗口利用OPEN DATA命令先打开数据库,然后利用CREATE命令打开表设计器进行数据表设计,如图4-l所示。
图4-1 表设计器 1字段名
(l)自由表字段名最长为10个字符。(2)数据库表字段名最长为128个字符。(3)字段名必须以字母或汉字开头。
(4)字段名可以由字母、汉字、数字和下划线组成。(5)字段名中不能包含空格。2字段类型和宽度
(1)字符型:可以是字母、数字等各种字符型文本,如用户名称。(2)货币型:货币单位,如货物价格。(3)数值型:整数或小数,如订货数量。(3)浮点型:功能类似于“数值型”,其长度在表中最长可达20位。(4)日期型:由年、月、日构成的数据类型,如订货日期。
(5)日期时间型:由年、月、日、时、分、秒构成的数据类型,如员工上班的时间。(6)双精度型:双精度数慎类型,一般用于要求精度很高的数据。(7)整型:不带小数点的数值类型,如订单的行数。
(8)逻辑型:值为“真”(.T.)或假(.F.),如表示订单是否已执行完。
(9)备注型:不定长的字符型文本。在表中占4个字节,表备注型文件的扩展名为FPT。(10)通用型:用于标记电子表格、文档、图片等OLE对象,在表中占4个字节。(11)字符型(二进制)。(12)备注型(二进制)。3空值
一个字段是否允许为空值与实际应用有关,比如作为关键字的字段是不允许为空值的,而那些在插入记录时允许暂缺的字段值往往允许为空值。4字段有效性组框
在字段有效性组框中可以定义字段的有效性规则、违反规则时的提示信息和字段的默认值。5显示组框
在显示组框下可以定义字段显示的格式、输入的掩码和字段的标题。输入掩码是字段的一种属性,用限制或控制用户输入的格式。标题用于字段显示时的标题,如果不指定标题则显示字段名。当字段名是英文或缩写时,则通过指定标题可以使界面更友好。6字段注释
可以为每个字段添加注释,便于日后或其他人对数据库进行维护。考点4 修改表结构 在Visual FoxPro中可以对表结构任意修改,修改表结构和建立表结构时,表设计器界面完全一样。修改数据表结构时,首先应该用USE命令打开要修改的数据表,然后利用MODIFY STRUCTURE打开表设计器进行修改,具体操作有以下几种。(1)修改已有字段。(2)添加新字段。(3)删除不用的字段。4.3 表的基本操作
考点5 使用浏览器操作表
在交互式工作方式下,最简单、方便的方法就是使用BROWSE浏览器浏览表,打开浏览器的方法有多种。在项目管理器中将数据库展开至表,然后单击“浏览”按钮,或直接在窗口中输入BROWSE命令(首先应该打开表文件)。1浏览器操作
(1)下一记录(下箭头键)。(2)前一记录(上箭头键)。(3)下一页(PageDown键)。(4)上一页(PageUp键)。(5)下一字段(Tab键)。
(6)前一字段(Shift+Tab键)。2修改记录
只需将光标定位到要修改的记录和字段上,就可以进行修改了。3删除记录 Visual FoxPro中删除记录有逻辑删除和物理删除两种,逻辑删除只在记录旁做删除标记(如图4-2所示),必要时可以进行恢复物理删除是在逻辑删除的基础上真正地将记录从表中删除。要在浏览器中删除有删除标记的记录,可选择“表/彻底删除”菜单命令。
图4-2 增加和删除记录
考点6 增加、删除、修改和显示记录的命令 1增加记录
APPEND命令是在表的尾部增加记录,格式有如下两种。格式1:APPEND 格式2:APPEND BLANK 2插入记录
格式:INSERT [BEFORE][BLANK] 3删除记录
删除记录有物理删除和逻辑删除两种,Visual FoxPro用来删除记录的命令如下。(1)设置删除标记的命令
格式:DELETE [FOR lExpressionl] 说明:如果不使用FOR短语指定逻辑条件,则只删除当前记录,否则逻辑删除满足条件的所有记录。
(2)恢复记录的命令。
格式:RECALL [FOR lExpressionl] 说明:使用该命令恢复表中逻辑删除的记录,短语FOR的功能同上。(3)物理删除有删除标记的记录 格式:PACK 说明:此命令用来物理删除当前表中所有带删除标记的记录。(4)物理删除表中的全部记录 格式:ZAP 说明:不管表中记录是否带有删除标记,此命令可以一次性将当前表中的记录全部物理删除,但表结构仍保留使用此命令相当于DELETE ALL与 PACK的连用。4修改记录
在Visual FoxPro中可以交互修改记录,也可以用指定值直接修改记录。(1)用EDIT或CHANGE命令交互式修改。(2)用REPLACE命令直接修改。5显示记录
格式:LIST/DISPLAY [[FIELDS]FieldList][FOR LExpressionl][OFF] [TO PRINTER[PROMPT]|TO FILE FileName] 考点7 查询定位的命令(1)用GOTO命令直接定位(2)SKIP命令
(3)用LOCATE命令定位。
LOCATE命令是按条件定位记录位置,格式为: LOCATE FOR IExpressionl LOCATE命令常用结构如下。LOCATE FOR IExpression1 DO WHILE FOUND()****处理数据*** CONTINUE ENDDO 小提示:
连续使用DELETE ALL和PACK命令,其操作结果与ZAP命令一样,都可以将表中的所有记录一次性物理删除。4.4 索引与排序
考点8 索引的基本概念
索引是对表中的记录按照某种逻辑顺序重新排列。
(l)主索引:在指定的字段或表达式中不允许出现重复值的索引,且一个表只能创建一个主索引。
(2)候选索引:具有与主索引相同的性质和功能,但一个表中可以创建多个候选索引,其指定的字段或表达式中也不允许出现重复值。
(3)唯一索引:它的“唯一性”是指索引项的唯一,而不是字段值的唯一。但在使用该索引时,重复的索引段值只有唯一一个值出现在索引项中。
(4)普通索引:不仅允许字段中出现重复值,并且索引项中也允许出现重复值。考点9 索引的建立 1单项索引
在表设计器界面中有“字段”、“索引”和“表“3个选项卡,在“字段”选项卡中定义字段时就可以直接指定某些字段是否为索引项,用鼠标单击定义索引的下拉列表框可以看到3个选项:无、升序和降序(默认是无)。如果选定升序或降序,则在对应的字段上建立一个普通索引,索引名与字段名同名,索引表达式就是对应的字段。2复合字段索引
(1)在“索引”选项卡中的索引名栏目中输入索引名。(2)在索引类型的下拉框中选择索引类型。
(3)单击表达式栏右侧的按钮,打开表达式生成器。
(4)在“表达式”文本框中输入索引表达式(如图4-3所示),最后单击“确定”按钮。
图4-3 表达式生成器界面
3使用命令建立索引
格式:INDEX ON eExpression TO IDXFileName | TAG TagName[OF CDXFileName] [FOR lExpression][COMPACT] [ASCENDING | DESCENDING] [UNIQUE | CANDIDATE] [ADDITIVE] 从索引的组织方式来讲,索引共有3种类型。(1)单独的IDX索引,是一种非结构索引。
(2)采用非默认名的CDX索引,也是一种非结构复合索引。(3)与表同名的CDX索引,是结构复合索引。结构复合索引文件可随表的打开而打开,在同一个索引文件中能包含多个索引方案或索引关键字,在添加、更改或删除记录时自动维护索引。考点10 索引的使用
(l)打开索引文件,格式为: SET INDEX TO Indexfilelist(2)设置当前索引,格式为:
SET ORDER TO[nIndexNumber |[TAG]TagName][ASCENDING|DESCENDING](3)使用索引快速定位,格式为:
SEEK eExpression[ORDER nIndexNumber|[TAG]TagName][ASCENDING| DESCENDING](4)删除索引,格式为:
DELETE TAG TagNamel
&&TagName1为索引名 要删除全部索引,可使用命令:DELETE TAG ALL 考点11 排序
索引可以使用户按照某种顺序浏览或查找表中的记录,这种顺序是逻辑的,如要对表中的记录按物理顺序重新排列,可使用SORT命令,格式为: SORT TO TableName ON FieldNainel[/A}/D][/C][,FieldName2[/A|/D][/C]„][ASCEND ING | DESCENDING][FOR lExpressionl][FIELDS FieldNameList] 小提示:
在数据库表中只能有一个主索引,且只能在表设计器中建立。其他3种索引可以建立多个,既能在表设计器中建立,也能以命令方式建立,但在自由表中不能为其创建主索引,只能创建后3种索引,同样也可以建立多个。4.5 数据完整性
考点12 实体完整性与主关键字
(1)实体完整性是保证表中记录唯一的特性,即在同一个表中不允许有重复的记录出现。在Visual Pro中通过主索引和候选索引来保证数据的实体完整性。
(2)如果一个字段的值或几个字段的值能够唯一标志表中的一条记录,则称这个字段为候选关键字。在Visual FoxPro中将主关键字称做主索引,将候选关键字称为候选索引。考点13 参照完整性与表之间的关联 1建立表之间的联系
参照完整性与表之间的联系有关,其含义大致是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,检查对表的数据操作是否正确。
在数据库设计器中设计表之间的联系时,要在父表中建立主索引,在子表中建立普通索引,然后通过父表主索引和子表的普通索引建立起两个表之间的联系。2设置参照完整性约束
建立参照完整性之前,首先必须清理数据库,即物理删除表中被逻辑删除的记录,然后选择两个关联表之间的连线并选择“数据库”、“编辑参照完整性”菜单命令,打开如图4-4所示的“参照完整性生成器”对话框。
图4-4 “参照完整性生成器”对话框 小提示:
欲建立两表之间的联系,首先用鼠标选中一个表的主索引,按住鼠标左键不放,并拖动鼠标到另一个表的索引上,这时鼠标箭头变成小矩形状,最后释放鼠标。4.6 自由表
考点14 数据库表与自由表
自由表是不属于任何数据库的表。在没有打开数据库时,所建立的表就是自由表。数据库表与自由表之间可以相互转化。1建立自由表的方法
(1)在项目的“数据”选项卡中选择“自由表”,单击“新建”按钮。
(2)在没有打开数据库的情况下,通过“新建”对话框,选择“表”并单击“新建文件”按钮。
(3)在没有打开数据库的情况下,在命令窗口输入CREATE命令,新建自由表。2数据库表相对于自由表的特点
(l)数据库表可以使用长表名,在表中可以使用长字段名。(2)可以为数据库表中的字段指定标题和添加注释。(3)可以为数据库表中的字段指定默认值和输入掩码。(4)数据库表的字段有默认的控件类。
(5)可以为数据库表规定字段级规则和记录级规则。
(6)数据库表支持主关键字、参照完整性和表之间的联系。(7)支持INSERT,UPDATE和DELETE事件的触发器。考点15 将自由表添加到数据库中
(1)在数据库设计器中可利用“数据库”→“添加表”菜单命令,在“打开”对话框中选择自由表文件,将其添加到数据库中。
(2)直接用命令方式将自由表添加到当前数据库中,格式为: ADD TABLE TableName|?[NAME LongTableName] 考点16 从数据库中移出表
(1)直接利用命令移出数据库表,格式为:
REMOVE TABLE TableName |?[DELETE][RECYCLE](2)从项目管理器中移出数据库。(3)从数据库设计器中移出数据库。4.7 多个表的同时使用
在Visual FoxPro中,一次可以打开多个数据库,每个数据库都可以打开多个数据表。考点17 多工作区的概念
指定工作区的命令格式为SELECT nWorkArea | cTableAlias,每个表打开后都有两个默认别名,一个是表的自身名,另一个是工作区所对应的别名。在前10个工作区中指定的默认别名是工作区字母A~J,其后面的工作区所对应的别名为W11~W32767。
另外还可以在USE命令中通过ALIAS短语指定表别名。
例如:USE学生表IN 1 ALIAS student,为学生表指定了别名student。考点18 使用不同工作区的表
除了使用SELECT命令切换不同的工作区之外,也可以在一个工作区使用其他工作区的数据表。即通过短语:IN nWorkArea|cTableAlias。在表别名后加上“.”或“->”操作符,可在一个工作区中直接调用其他工作区中数据表的记录。例如当前工作区号为2,要调用1区上学生表中的班级号的相关字段,可使用命令:
学生表.班级号 或学生表->班级号或A.班级号或A->班级号 考点19 表之间的关联
使用SET RELATION命令建立表间记录指针的临时联系(关联)。
格式:SET RELATION TO eExpressionl INTO nWorkAreal I cTableAliasl。
说明:eExpressionl是指建立临时联系的索引关键字,一般是父表的主索引,子表的普通索引。用工作区号 nWorkAreal或表的别名cTableAlias I说明临时联系是由当前工作区的表到哪个表。利用SET RELATION TO命令将取消当前表到所有表的临时联系。4.1 SQL概述 5.1 SQL概述 考点1 概述 1概念
SQL是结构化查询语言Structured Query Language的缩写。它包括数据查询、数据定义、数据操纵和数据控制4部分。Visual FoxPro在SQL方面支持数据定义、数据查询和数据操纵功能。另外,由于Visual FoxPro自身在安全控制方面的缺陷,所以它没有提供数据控制功能。2 SQL语言的特点
(1)一种一体化的语言。
(2)一种高度非过程化的语言。(3)语言非常简洁。
(4)可以直接以命令方式交互使用,也可以以程序方式使用。5.2 查询功能
SQL的核心是查询,基本形式由SELECT-FROM-WHERE查询块组成,多个查询块可嵌套执行,如表5-1所示。
表5-1 SQL命令动词
考点2 简单查询 1简单查询
简单查询是由SELECT和FROM短语构成的无条件查询,或由SELECT,FROM和WHERE短语构成的条件查询。2简单的连接查询
连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。3嵌套查询
嵌套查询所要求的结果出自一个关系,但关系的条件却涉及多个关系。其内层基本上也是一个SELECT-FROM-WHERE查询语句。这种简单嵌套查询,可使用谓词IN或NOT IN来判断在外层的查询条件中是否包含内层查询的结果。考点3 特殊运算符号 1 BETWEEN„AND„
含义:该查询的条件是在„„范围之内,相当于用AND连接的一个逻辑表达式。2 LIKE 含义:它是一个字符串匹配运算符,与之搭配使用的通配符包括“*”和“?”。考点4 排序
使用SQL SELECT可以将查询结果进行排序,排序的短语是ORDER BY。格式:ORDER BY Order_Item[ASCIDESC][,Order_Item[ASC|DESC]„] 说明:可以按升序(ASC)或降序(DESC)排序,允许按一列或多列排序。考点5 计算查询 1简单的计算查询
SQL不仅具有一般的检索能力,而且还有计算方式的检索,用于计算检索的函数有:COUNT(计数)、SUM(求和)、AVG(计算平均值)、MAX(求最大值)及MIN(求最小值)。2分组与计算查询
在SQL SELECT中可以利用GROUP BY子句进行分组计算查询。
格式:GROUP BY GroupColumn[,GroupColumn„][HAVING FilterCondition] 说明:可以按一列或多列分组,还可以用HAVING子句进一步限定分组的条件。它必须跟在GROUP BY子句之后,不可单独使用,与WHERE子句并不矛盾。考点6 别名和自连接查询
(1)SQL语句允许在二OM短语中为关系定义别名,格式为:一 <关系名><别名>(2)SQL不仅可以对多个关系进行连接操作,也可以将同一关系与其自身进行连接,这种连接就称为自连接。在关系的自连接操作中,别名是必不可少的。考点7 使用量词和谓词的查询
与嵌套查询或子查询有关的运算符,除了IN和NOT IN运算符外,还有两类与子查询有关的运算符,它们有以下两种格式。
(1)<表达式><比较运算符>[ANY I ALL | SOME](子查询)(2)[NOT]EXISTS(子查询)EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。其本身并没有进行任何运算或比较,只用来返回子查询结果。考点8 超链接查询
(1)在新的SQL标准中支持两个新的关系连接运算符,这两个新的连接运算是左连接(*=)和右连接=*):首先保证一个表中满足条件的元组都在结果表中,然后将满足连接条件的元组与另一个表的元组进行连接,不满足连接条件的则应将来自另一个表的属性值置为空值。在一般SQL中超链接运算符是“*=”(左连接)和“=*”(右连接)。(2)在Visual FoxPro中不支持超链接运算符“*=”和“=*”,Visual FoxPro有专门的连接运算。下面拼出SQL中超链接的部分语句格式: SELECT…
FROM Table INNER|LEFT|RIGHT|FULL JOIN Table ON JoinCondition WHERE…
考点9 Visual FoxPro中SQL SELECT的几个特殊选项(l)显示部分结果,格式为: TOP nExpr[PERCENT](2)将查询结果存放到数组中,格式为: INTO ARRAY ArrayName(3)将查询结果存放到临时文件中,格式为: INTO CURSOR CursorName(4)将查询结果存放到永久表中,格式为: INTO DBF|TABLE TableName(5)将查询结果存放到文本文件中,格式为: TO FILE FileName[ADDITIVE](6)将查询结果直接输出到打印机,格式为: TO PRINTER[PROMPT] 5.3 操作功能 考点10 插入
Visual FoxPro支持两种SQL插入命令的格式,一种是标准格式,另一种是特殊格式。1标准格式
INSERT INTO dbf name[(frame 1[,fname2,„])] VALUES(eExpressionl[,eExpression2,„])2特殊格式
INSERT INTO dbf _name FROM ARRAY ArrayName|FROM MEMVAR 考点11 更新
SQL的数据更新命令格式如下: UPDATE TableName SET Column_Namel=eEpressionl[,Column_Name2=eExpression2„] WHERE Condition 说明:利用WHERE字句指定条件,以更新满足条件的一些记录的字段值,并巨一次可更新多个字段;如果不使用WHERE子句,则更新全部记录。考点12 删除
SQL从表中删除数据的命令格式如下:
DELETE FROM TableName[WHERE Condition] 说明:FROM指定从哪个表中删除记录,WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记录。小提示:
当一个表定义一个主索引或候选索引后,由于相应的字段具有关键字的特性,即不能为空,所以只能用此命令插入记录、)APPEND和INSERT都是插入一条空白记录再输入各字段的值,故不能用它们来插入记录。5.4 定义功能 考点13 表的定义
利用SQL命令建立的数据表同样可以完成在表设计器中设计表的所有功能。格式:CREATE TABLE I DBF TableNamel[NAME LongTableName][FREE](FieldNarnel FieldType[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK IExpressionl [ERROR cMessageTextl]] [DEFAULT eExpressionl] [PRIMARY KEY I UNIQUE] [PEFERENCES TableName2[AG TagName1]] [NOCPTRANS] [,FieldName2„] [,PRIMARY KEY eEpression2 TAG TagName2|,UNIQUE eExpression3 TAG TagName3] [,FOREIGN KEY eExpression4 TagName4[NODUP] REFERENCES TableName3 [TAG TagName5]] [,CHECK lExpression2[ERROR cMessageText2]])|FROM ARRAY ArravNasne 说明:此命令除了建立表的基本功能外,还包括满足实体完整性的主关键字(主索引)PRIMARY KEY、定义域完整性的CHECK约束及出错提示信息ERROR、定义默认值DEFAULT等,另外还有描述表之间联系的FOREIGN KEY和REFERENCES等。考点14 表的删除
利用SQL命令删除表,可直接使用语句,格式为: DROP TABLE Table_name 说明:如果删除的是自由表,则应该将当前打开的数据库先关闭,才能进行删除。如果删除数据库表,则要先打开数据库,在数据库中进行操作二否则,即使删除了数据库表,但记录在数据库中的信息并没有被删除,此后会出现错误提示。考点15 表结构的修改
修改表结构的命令是ALTER TABLE,该命令有3种格式。
(1)ALTER TABLE TableNamel ADD| ALTER[COLUMN]FieldNamel FieldTvpe[(nFieldWidth[,nPrecision])][NULL |NOT NULL] [CHECK lExpressionl[ERROR cMessageTextl ]][DEFAULT eExpressionl] [PRIMARY KEY |UNIQUE] [REFERENCES TableName2[TAG TagNamel〕](2)ALTER TABLE TableNamel ALTER[COLUMN]FieldName2[NULL|NOT NULL] [SET EFAULTeExpression2][SET CHECK lExpression2[ERROR cMessageText2] [DROP DEFAULT][DROP CHECK](3)ALTER TABLE TableName1[DROP [COLUMN]FieldName3] [SET CHECK lExpression3[ERROR cMessageText3] [DROP CHECK] [ADD PRIMARY KEY eExpression3 TAG TagName2[FOR lExpression4]] [DROP PRIMARY KEY〕
[ADD UNIQUE eExpression4[TAG TagName3[FOR lExpression5]]] [DROP UNIQUE TAG TagName4] [ADD FOREIGN KEY[eExpression5] TAG TagName4[FOR lExpression6] REFERENCES TableName2[TAG TagName5]] [DROP FOREIGN KEY TAG TagName6[SAVE]] [RENAME COLUMN FieldName4 TO FieldName5] 考点16 视图的定义 1视图的概念及其定义(l)视图的概念。
Visual FoxPro中视图是一个虚拟的表,可以是本地的、远程的或带参数的。(2)视图的定义,格式为:
CREATE VIEW view name[(column_name[,column_name]„)] AS select_statement 2从单个表派生出来的视图
视图一经定义,就可以和基本表一样进行各种查询,也可以进行一些修改操作。对于最终用户来说,有时并不需要知道操作的是基本表还是视图。3从多个表派生出来的视图
视图一方面可以限定对数据的访问,另一方面又可以简化对数据的访问。4视图的删除
视图由于是从表派生出来的,所以不存在修改结构的问题,但是视图可以删除。格式:DROP VIEW<视图名> 5关于视图的说明
在关系数据库中,视图始终不真正含有数据,它总是原有表的一个窗口。所以,虽然视图可以像表一样进行各种查询,但是插入、更新和删除操作在视图上却有一定限制。在一般情况下,当一个视图是由单个表导出时可以进行插入和更新操作,但不能进行删除操作;当视图是从多个表导出时,插入、更新和删除操作都不允许进行。这种限制是很有必要的,它可以避免一些潜在问题的发生。5.1 查询与视图
考点1 查询设计器 1查询的概念
查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果。查询以扩展名为QPR的文件保存在磁盘上的,这是一个文本文件,它的主体是SQL SELECT语句。2查询的建立
建立查询可以使用“查询设计器”,但它的基础是SQL SELECT语句。建立查询的方法有以下几个方面。
(l)可以利用CREATE QUERY命令打开查询设计器建立查询。(2)可以利用“新建”对话框打开查询设计器建立查询。
(3)可以在项目管理器的“数据”选项卡中打开查询设计器建立查询。(4)可直接编辑QPR文件建立查询。建立查询时,首先进入如图6-1所示的界面选择用于建立查询的表或视图,选择表或视图后,单击“添加”按钮。最后单击“关闭”按钮,进入如图6-2所示的查询设计器界面。
图6-1 为查询选择表或视图
查询设计器中的各选项卡和SQL SELECT语句的各短语是相对应的,对应关系如下。“字段”――SELECT短语,用于指定要查询的数据 “连接”――JOIN ON短语,用于编辑连接条件。“筛选”――WHERE短语,用于指定查询条件。
“排序依据”――ORDER BY短语,用于指定排序字段和排序方式。“分组依据”――GROUP BY短语和HAVING短语,用于分组。
图6-2 查询设计器 3查询的运行
运行查询有下列两种方法。
(1)可以在项口管理器的“数据”选项卡中,展开“查询”选项,然后选择要运行的查询文件,单击“运行”按钮,可查看查询结果。(2)在命令窗门执行命令DO QueryFile。
注意:此处的查询文件名是全名,包括扩展名QPR。4查询去向
设计查询的目的不只是完成一种查询功能,在查询设计器中可以根据需要为查询输出定位查询去向。通过“查询”菜单卜的“查询去向”,或在“查询设计器”工具栏中单击“查询去向”按钮。“查询去向”对话框如图6-3所示
图6-3 “查询去向”对话框 各去向的含义如下。
(1)浏览:在“浏览”(BROWSE)窗口中显示查询结果,这是默认的输出去向。(2)临时表:将查询结果存储于一个命名的临时只读表中。(3)表:将结果保存在一个命名的数据表文件中。(4)图形:查询结果可以用于Microsoft Graph。
(5)屏幕:在Visual FoxPro主窗口或当前活动输出窗口中显示查询结果。(6)报表:将结果输出到一个报表文件。(7)标签:将结果输出到一个标签文件。小提示:
在7种输出去向中,只有“浏览”和“屏幕”两种输出去向才能直接看到查询结果。6.2 视图
考点2 视图的概念与建立 1视图的概念
视图是操作表的一种手段,通过视图可以查询表,也可以更新表。视图是根据表定义的,因此视图基于表,而视图可以使应用更灵活,因此它又超越表。视图是数据库中的一个特有功能,只有在包含视图的数据库打开时才能使用。
视图兼有“表”和“查询”的特点,与查询相类似的地方是可以用来从一个或多个相关联的表中提取有用信息;与表类似的地方是可以用来更新其中的信息,并将结果永久性保存在磁盘上。
2视图的建立
(l)用CREATE VIEW命令打开视图设计器建立视图。(2)利用“新建”对话框打开视图设计器建立视图。
(3)在项目管理器的“数据”选项卡中打开视图设计器建立视图。(4)利用SQL命令CREATE VIEW...AS...建立视图。3视图设计象
视图设计器(如图6一所示)与查询设计器基本上一样,主要有以下几点不同。(1)视图的结果保存在数据库中,在磁盘上找不到类似的文件。
(2)视图可以用来更新数据,因此在设计器中多了一个“更新条件”选项卡。(3)在视图中没有“查询去向”的问题。
图6-4 视图设计器
考点3 远程视图与连接
为了建立远程视图,必须首先建立连接远程数据库的“连接”,“连接”是Visual FoxPro数据库中的一种对象。1定义数据源和连接
数据源一般是ODBC数据源,开放数据库互连ODBC是一种连接数据库的通用标准。为了定义ODBC数据源,必须首先安装ODBC驱动程序。2建立连接
建立连接的方法有以下几种。(1)用CREATE CONNECTION命令打开“连接设计器”,或完全用命令方式建立连接。(2)通过“新建”对话框建立连接。
(3)在项目管理器的“数据”选项卡中建立连接。3设计远程视图
利用数据源或连接建立的远程视图的SQL语法要符合远程数据库的语法,例如,SQL Server的语法和Visual FoxPro的语法就有所区别。考点4 视图与数据更新
视图是根据基本表派生出来的,所以把它叫做虚拟表为了通过视图能够更新基本表中的数据,需要在视图设计器的“更新条件”选项卡中的左下角选中“发送SQL更新”复选框。1指定可更新的表
如果视图是基于多个表的,默认可以更新“全部表”的相关字段,如果要指定只能更新某个表的数据,则可以通过“表”下拉列表框选择表 2指定可更新的字段
在“字段名”列表框中列出了与更新有关的字段,在字段名左侧有两列标志,“钥匙”表示关键字,“铅笔”表示更新通过单击相应列可以改变相关的状态,默认可以更新所有非关键字字段,并且通过基本表的关键字完成更新,即Visual FoxPro用这些关键字字段来唯一标识那些已在视图中修改过的基本表中的记录建议不要改变关键字的状态,不要试图通过视图来更新基本表中的关键字字段值,如有必要,可以指定更新非关键字字段值 3检查更新的合法性 如图6-1所示,“SQL WHERE子句包括”框中的选项决定哪些字段包含在UPDATE或DELETE语句的WHERE子句中,Visual FoxPro正是利用这些语句将在视图中修改或删除的记录发送到远程数据源或基本表中,WHERE子句就是用来检查自从提取记录用于视图中后,服务器上的数据是否已经改变。“SQL WHERE子句包括”框中各选项的含义如下。
(l)关键字段:当基本表中的关键字字段被改变时,更新失败。
(2)关键字和可更新字段:当基本表中任何标记为可更新的字段被改变时,更新失败。
(3)关键字和已修改字段:当在视图中改变的任一字段的值在基本表中已被改变时,更新失败。
(4)关键字和时间戳:当远程表上记录的时间戳在首次检索之后被改变时,更新失败。4使用更新方式
“使用更新”框的选项决定当向基本表发送SQL更新时的更新方式。
(1)SQL DELETE然后INSERT:先用SQL DELETE命令删除基本表中被更新的旧记录,再用SQL INSERT命令向基本表中插入更新后的记录。
(2)SQL UPDATE:使用SQL UPDATE命令更新基本表。考点5 使用视图
视图建立后,不但可以用它来显示和更新数据,而且可以通过调整它的属性来提高性能,它的使用类似于表。1视图操作
(1)在数据库中使用USE命令打开或关闭视图。(2)在“浏览器”窗口中显示或修改视图中的记录。(3)使用SQL语句操作视图。
(4)在文本框、表格控件、表单或报表中使用视图作为数据源。2使用视图
视图一经建立就基本可以像基本表一样使用,适用于基本表的命令基本都可以用于视图。比如在视图上也可以建立索引,此索引当然是临时的,视图一关闭,索引自动删除,多工作区时也可以建立联系等。但视图不可以用MODIFY STRUCTURE命令修改结构。因为视图毕竟不是独立存在的基本表,它是由基本表派生出来的,只能修改视图的定义。
小提示:
查询与视图的区别是:查询可以定义输出去向,可以将查询的结果灵活地应用于表单、报表、图形等各种场合,但是利用查询不可以修改数据;而利用视图可以修改数据,可以利用SQL将对视图的修改发送到基本表,特别是对于远程表的操作,利用视图是非常有效的。
6.1表单与控件 面向对象的概念 考点1 对象与类 1对象(Object)客观世界里的任何实体都可以被视为对象。对象可以是具体事物,也可以指某些概念二(1)属性:用来表示对象的状态。(2)方法:用来描述对象的行为。2类(Class)类是对一类相似对象性质的描述。同类对象具有相同的性质:相同的属性及方法。考点2 子类与继承 1继承
继承表达了一种从一般到特殊的进化过程。在面向对象的方法里,继承是指基于现有类的方法和属性。2类
我们把新类称为现有类的子类,而把现有类称为新类的父类。一个子类的成员一般包括以下两个方面。
(l)从其父类继承的成员,包括属性、方法。(2)由子类自己定义的成员,包括属性、方法。8.2 Visual FoxPro基类简介 考点3 Visual FoxPro基类
Visual FoxPro中所有基类共有的属性如表8-1所示。表8-1 Visual FoxPro基类的最小属性集
(l)在编程方式里,对象的生成通常使用CREATE OBJECT函数来完成,格式为: CREATE OBJECT(<类名>[,<参数1>,<参数2>,„])说明:函数基于指定的类生成一个对象,并返回对象的引用。(2)对象属性访问及对象方法调用的基本格式为: <对象引用>.<对象属性> <对象引用>.<对象方法>[(„)] 考点4 容器与控件
Visual FoxPro中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。
(l)控件:是一个可以以图形化的方式显示出来并能与用户进行交互式的对象。(2)容器:可看成是一个特殊的控件,它能包容其他的控件或容器。(3)层次:容器内的包容关系形成r对象的嵌套层次关系。对象的层次概念与类的层次概念是两个完全不同的概念对象的层次关系指的是包容与被包容的关系,而类的层次指的是继承与被继承的关系。
在对象的嵌套层次关系中,要引用其中的某个对象,需要指明对象在嵌套层次中的位置。对象引用的几个属性或关键字如表8-2所示。表8-2 对象引用的几个属性或关键字
考点5 事件
事件是一种由系统预先定义而由用户或系统发出的动作。它作用于对象,对象识别事件并做出相应的反应。与方法集可以无限扩展不同的是,事件集是固定的。用户不能定义新的事件。表8-3列出了VisualFoxPro基类的最小事件集,不管哪个基类都包含这些事件。表8-3 Visual FoxPro基类的最小事件集
8.3 创建与管理表单
考点6 创建、修改及运行表单 1使用表单向导创建表单
调用表单向导的方法有多种,这里只做简单介绍。
(l)在“项目管理器”窗口中,选择“文档”选项卡,选择其中的“表单”图标。(2)单击“新建”按钮,系统弹出“新建表单”对话框。(3)单击“表单向导”图标按钮,打开“向导选取”对话框。(4)从列表框中选择要使用的向导,然后单击“确定”按钮。2使用表单设计器创建表单
可以使用以下3种方法中的任何一种调用表单设计器。(1)在项目管理器环境下调用。(2)菜单方式调用。(3)命令方式调用。3修改已有的表单
一个表单无论是通过任何途径创建的,都可以使用表单设计器进行编辑修改。我们可以通过项目或使用命令“MODIFY FORM<表单名>”来打开表单设计器。4运行表单
可以采用下列方法运行通过表单设计器创建的表单文件。
(1)在项目管理器窗口中,选择要运行的表单,然后单击窗口里的“运行”按钮。
(2)在表单设计器环境下,选择“表单”菜单中的“执行表单”命令,或单击标准工具栏上的“运行”按钮。
(3)选择“程序”菜单中的“运行”命令,打开“运行”对话框,然后在对话框中指定要运行的表单文件并单击“运行”按钮。(4)在命令窗口中输入命令,格式为:
DO FORM<表单文件名>[NAME<变量名>] WITH<实参>[,<实参>,„][LINKED][NOSHOW] 考点7 管理表单属性和方法
可以向表单添加任意数量的新属性和新方法,并像引用表单的其他属性和方法一样引用它们。Visual FoxPro中表单的属性大约有100个,但绝大多数很少用到。表8-4列出了常用的一些表单属性,这些属性规定了表单的外观和行为。表8-4 表单的常用属性
1创建新属性
向表单添加新属性的方法如F。
(l)选择“表单”菜单中的“新建属性”命令,打开“新建属性”对话框,如图8-1所示。(2)在“名称”文本框中输入新属性的名称。
(3)有选择地在“说明”列表框中输入新建属性的说明信息。
图8-1 “新建属性”对话框
2创建新方法
向表单添加新方法的步骤如下
(l)运行“表单”→“新建方法程序”命令,打开“新建方法程序”对话框,如图8-2所示。(2)在“名称”文本框中输入新方法名。
(3)有选择地在“说明”列表框中输入新建方法的说明信息。
图8-2 “新建方法程序”对话框
3编辑方法或事件代码
在表单设计器中,编辑方法或事件代码的步骤如下。
(1)选择“显示”菜单中的“代码”命令,打开代码编辑窗口,如图8-3所示。(2)从“对象”框中选择方法或事件所属的对象。(3)从“过程”框中指定需要编辑的方法或事件。(4)在编辑区输入或修改方法或事件的代码。
图8-3 代码编辑窗口
考点8 常用事件与方法
下面将以表的形式简单介绍一下表单及控件常用的一些事件和方法,如表8-5所示。表8-5 常用的一些属性和方法
8.4 表单设计器
考点9 表单设计器环境
表单设计器启动后,在Visual FoxPro的主窗口中出现“表单设计器”窗口、“属性”窗口、“表单控件”工具栏、“表单设计器”工具栏及“表单”菜单。1“表单设计器”窗口
用户可视化地添加和修改控件的窗口。2“属性”窗口
如图8-4所示,在“属性”窗口中包括对象框、属性设置框、方法和事件列表。用户可在此窗口中选择表取中的控件,并为表单设计属性、方法及事件。
对于表单及控件的绝大多数属性,其数据类型是固定的。一般来说,要为属性设置一个字符型数值,可以在设置框中直接输入,不需要加定界符。
“属性”窗口可以通过单击“表单设计器”工具栏中的“属性窗口”按钮或选择“显示”菜单中的“属性环境”命令打开或关闭。
图8-4 “属性”窗口
3“表单控件”工具栏
如图8-5所示,利用“表单控件”工具栏可以方便地向表单添加控件。
图8-5 “表单控件”工具栏
除了控件按钮外,“表单控件”工具栏还包含“选定对象”、“按钮锁定”、“生成器锁定”和“查看类”4个辅助按钮。4“表单设计器”工具栏
“表单设计器”工具栏如图8-6所示,它可以通过“显示”菜单中的“工具栏”命令打开或关闭。
图8-6 “表单设计器”工具栏
5“表单”菜单 “表单”菜单中的命令主要用于创建、编辑表单或表单集,如为表单增加新的属性和方法等。考点10 控件的操作与布局 1控件的基本操作
在表单设计器下,对表单上的控件可进行移动、改变大小、复制、删除等操作。(l)选定控件。(2)移动控件
(3)调整控件大小。(4)复制控件。(5)删除控件。2控件布局 利用“布局”工具栏中的按钮,可以方便地调整表单窗口中被选控件的相对大小或位置。“布局”工具栏丁以通过单击“表单设计器”工具栏上的“布局工具栏”按钮或选择“显示”菜单中的“布局工具栏”命令打开或关闭。3设置Tab键次序
当表单运行时,用户可以按Tab键选择表单中的控件,使焦点在控件间移动。控件的Tab键次序决定了选择控件的次序。Visual FoxPro提供了两种方式来设置Tab键次序:交互方式和列表方式。考点11 数据环境 1数据环境的常用属性
常用的两个数据环境是AutoOpenTables和AutoCloseTables,其功能如下。
(1)AutoOpenTables;表示当运行或打开表单时,是否打开数据环境中的表和视图,默认值为逻辑真.T.)。
(2)AutoCloseTables:表示当释放或关闭表单时,是否关闭由数据环境指定的表和视图,默认值为逻辑真(.T.)。
2打开数据环境设计器
可通过单击“表单设计器”工具栏中的“数据环境”按钮,也可以选择“显示”菜单中的“数据环境”命令打开或关闭“数据环境设计器”窗口。3向数据环境中添加表或视图
(1)选择“数据环境”菜单中的“添加”命令,或用鼠标右键单击“数据环境设计器”窗口,然后在弹出的快捷菜单中选择“添加”命令,打开“添加表或视图”对话框。
(2)选择要添加的表或视图并单击“添加”按钮。如果单击“其他”按钮,将调出“打开”对话框,用户可以从中选择需要的表。4从数据环境中移去表或视图
在数据环境设计器环境下,按下列方法从数据环境移去表或视图。(1)在“数据环境设计器”窗口中,单击选择要移去的表或视图。(2)选择“数据环境”菜单中的“移去”命令。
也可以用鼠标右键单击要移去的表或视图,然后在弹出的快捷菜单中选择“移去”命令。当表从数据环境中移去时,与这个表有关的所有关系也将随之消失。5在数据环境中设置关系
如果添加到数据环境的表之间具有在数据库中设置的永久关系,这些关系也会自动添加到数据环境中。如果表之间没有永久关系,可以根据需要在数据环境设计器下为这些表设置关系。6在数据环境中编辑关系
关系是数据环境中的对象,它有自己的属性、方法和事件。常用的关系属性如表8-6所示。
表8-6 常用的关系属性
7向表单添加字段
我们可以利用“表单控件”工具栏方便地将一个标准控件放置到表单上,也可以从“数据环境设计器”窗口、“项目管理器”窗口或“数据库设计器”窗口中直接将字段、表或视图拖入表单,系统将产生相应的控件并与字段相联系。8.5 常用表单控件
考点12 标签(Label)控件 标签的常用属性如下
(1)Caption属性:指定标签的标题文本很多类控件都具有Caption属性。用户可以利用该属性为所创建的对象指定标题文本。
(2)Alignment属性:指定标题文本在控件中的显示对齐方式。该属性包括三个属性值――0、1和2,分别代表左对齐、右对齐和中央对齐。考点13 命令按钮(CommandButton)控件 命令按钮的常用属性如下。
(1)Default属性:该属性默认值为.F.。当属性为.T.时,可称为“确定”按钮,一个表单中只能包含一个“确定”按钮;在Windows中,当焦点不在命令按钮上时,按Enter键,系统将自动执行该命令按钮的Click事件代码、(2)Cancel属性:该属性默认值为.F.。当属性为.T.时,可称为“取消”按钮,在表单中,可通过Esc键执行该命令按钮中的Click事件代码一个表单中可有多个命令按钮的Cancel属性值为.T.。(3)Enabled属性:指定表单或控件能否响应用户引发的事件。默认的属性值为.T.,即对象是有效的,当Enabled=.F.时,只是用来显示只读的信息。
(4)Visible属性:指定对象是可见还是隐藏。默认的属性值为.T.,即对象是可见的。考点14 命令组(CommandGroup)控件
命令组是包含一组命令按钮的容器控件,其常用属性如下。
(1)ButtonCount属性:指定命令组中命令按钮的个数,默认的属性值为2。(2)Buttons属性:用于存取命令组中各按钮的数组。用户可以利用该数组为命令组中的命令按钮设置属性或调用其方法,属性数组下标的取值范围应该在1到ButtonCount属性值之间。(3)Value属性:指定命令组当前的状态。该属性的类型可以是数值型,也可以是字符型。考点15 文本框(TextBox)控件 文本框的常用属性如下。
(1)ControlSource属性:可利用该属性为文本框指定一个字段或内存变量,运行时,文本框中首先显示该变量的内容
(2)Value属性:返回文本框的当前内容。该属性的默认值是空串。(3)PasswordChar属性:指定文本框控件内是显示用户输入的字符还是显示占位符。该属性的默认值是空串,此时没有占位符。当为属性指定一个占位符(例如*)后,文本框中只显示占位符。
(4)InputMask属性:指定在一个文本框中如何输入和显示数据。各种模式符的功能如表8-7所示。
表8-7 模式符及其功能
考点16 编辑框的常用属性如下。
(1)AllowTabs属性:指定编辑框中能否使用Tab键。该属性的默认值为.F.,当按Tab键时,焦点移出编辑框。
(2)HideSelection属性:指定当编辑框失去焦点时,编辑框中选定的文本是否仍显示为选定状态。该属性的默认值为.T.,即当编辑框失去焦点时,编辑框中选定的文本不显示为选定状态(3)ReadOnly属性:指定用户能否编辑编辑框中的内容。如果该属性的默认值为.F.,则叮以编辑编辑框中的内容;当属性值为.T.时,编辑框中的内容为只读。
(4)ScrollBars属性:指定编辑框是否具有滚动条。该属性包括“0-无” 和“2-垂直”两个属性值。
(5)SelStart属性:返回用户在编辑框中所选文本的起始位置或插入点位置。属性的有效取值范围在0与编辑区中的字符总数之间。
(6)SelLength属性:返回用户在控件的文本输入区中所选定字符的数目,或指定要选定的字符数目。
(7)SelText属性:返回用户编辑区内选定的文本。如果没有选定文本,将返回空串。考点17 复选框(CheckBox)控件 复选框的常用属性如下。
(1)Caption属性:用来指定显示在复选框旁边的文字。
(2)Value属性:用来指明复选框的当前状态,共有3种情况:0或.F.表示未被选中;1或.T.表示被选扣;2或.NULL.表示不确定,只在代码中有效。
(3)ControlSource属性:指明与复选框建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是逻辑型或数值型。考点18 选项组(OptionGroup)控件
选项组是包含若干个选项按钮的一种容器控件,其常用属性如下。(1)ButtonCount属性:指定选项组中选项按钮的数目,其默认值为2,(2)Value属性:用于指定选项组中哪个选项按钮被选中。该属性值的类型可为数值k1J或字符型。
(3)ControlSource属性:指明与选项组建立联系的数据源。作为数据源的字段变量或内存变量,其类型可以是字符型或数值型
(4)Buttons属性:用于存取选项组中每个按钮的数组,其含义与命令组的Buttons类似。考点19 列表框(ListBox)控件 列表框的常用属性如下
(1)RowSourceType属性与RowSource属性:RowSourceType属性指明列表框中的条目数据源的类型,RowSource属性指定列表框的条目数据源。RowSourceType属性共有10种取值范围:0-无(默认值)、1-值,2-别名、3-SQL语句,4-查询(.qpr),5-数组,6-字段,7-文件,8-结构,9-弹出式菜单。(2)List属性:用以存取列表框中数据条目的字符串数组。(3)ListCount属性:指明列表框中数据条目的数目。(4)ColumnCount属性:指定列表框的列数。
(5)Value属性:列表框中被选中的条目。该属性可以是数值型,也可以是字符型。
(6)ControlSource属性:该属性在列表框中的用法和在其他控件中的用法有所不同。用户可以通过该属性指定一个字段或变量用以保存用户从列表框中选择的结果。(7)Selected属性:指定列表框内的某个条目是否处于选定状态〕(8)MultiSelect属性:指定用户在列表框控件内进行多重选定。其中,0或.F.表示不允许多重选定,为系统默认值;1或.T.表示允许多重选定。考点20 组合框(ComboBox)控件
组合框与列表框类似,也是用于提供一组条目供用户从中选择,组合框的特点如下。(1)对于组合框来说,通常只有一个条目是可见的。(2)组合框不提供多重选定的功能。
(3)组合框可通过Style属性设置其形式,共有两种:0表示下拉组合框,2表示下拉列表框。考点21 表格(Gride)控件 表格是一种容器对象。一个表格对象由若十列对象组成,每个列对象包含一个标头对象和若干控件,它们都有自己的属性、事件和方法。1表格的常用属性
(l)RecordSourceType属性与RecordSource属性:RecordSourceType属性指明表格数据源类型,RecordSource属性指定表格数据源。其中数据类型共有5种取值范围:0-表、1-别名(默认值)、2-提示、3-查询(.qpr)、4-SQL语句。
(2)ColumnCount属性:指定表格的列数,即一个表格对象所包含的列对象数目。(3)LinkMaster属性:用于指定表格控件中所显示的子表的父表名称。(4)ChildOrder属性:用于指定建立一对多的关联关系,子表所要用到的索引。该属性类似于SET ORDER命令。
(5)RelationalExpr属性:确定基于主表字段的关联表达式。2常用的列属性
(1)ControlSource属性:指定要在列中显示的数据源,常见的是表中的一个字段。
(2)CurrentControl属性:指定列对象中的一个控件,该控件用以显示和接收列中活动单元格的数据。
(3)Sparse属性:用于确定CurrentControl属性是影响列中的所有单元格还是影响活动单元格。
3常用的标头(Header)属性
(1)Caption属性:指定标头对象的标题文本,显示于列顶部。(2)Alignment属性:指定标题文本在对象中显示的对齐方式。考点22 页框(PageFrame)控件
页框是包含页面(Page)的容器对象,其常用属性如下。
(1)PageCount属性:用于指明一个页框对象所包含的页对象的数量。最小值为0,最大值为99。
(2)Pages属性:该属性是一个数组,用于存取页框中的某个页对象。(3)Tabs属性:指定页框中是否显示页面标签栏。
(4)TabStretch属性:如果页面标题文本太长,可通过设置该属性利用多行显示。其中0表示多重行,1表示单行(默认值)。
(5)ActivePage属性:返回页框中活动页的页号,或使页框中的指定页 7.1菜单设计
9.1 Visual FoxPro系统菜单 考点1 菜单结构 Visual FoxPro支持两种类型的菜单:条形菜单和弹出式菜单。菜单项的名称显示于屏幕供用户识别,菜单及菜单项的内部名称或选项序号则用于在代码中引用。每一个菜单项都可以选择设置一个热键和一个快捷键。无论哪种类型的菜单,当选择某个选项时都会有一定的动作,这个动作可以是下列3种情况之一:执行一条命令、执行一个过程或激活另一个菜单。考点2 系统菜单 Visual FoxPro系统菜单是一个典型的菜单系统,其主菜单是一个条形菜单。条形菜单的内部名字为_MSYSMENU,也可看做是整个菜单系统的名字。
条形菜单中常见选项的名称及内部名字如表9-1所示,各弹出式菜单的内部名字如表9-2所示。表9-3的是“编辑”菜单中常用选项的选项名称和内部名字。表9-1 主菜单(MSYSMENU)常见选项
表9-2 弹出式菜单的内部名字
表9-3 “编辑”菜单(_MEDIT)常用选项
通过SET SYSMENU命令可以允许或禁止在程序执行时访问系统菜单,也可以重新配置系统菜单,格式如下。
SET SYSMENU ON|OFF AUTOMATIC |TO[<弹出式菜单名表>] |TO[<条形菜单项名表>] |TO[DEFAULT]|SAVE|NOSAVE 小提示:
如不带任何参数,直接SET SYSMENU TO命令,将屏蔽系统菜单,使系统菜单不可用。9.2 下拉式菜单设计
考点3 菜单设计的基本过程
用菜单设计器设计下拉式菜单的基本过程如下。(l)调用菜单设计器。
(2)在“菜单设计器”窗口中定义菜单,指定菜单的各项内容,定义完成后,通过菜单命令“保存”或直接使用快捷键Ctrl+W保存菜单。
(3)通过菜单命令“菜单”*“生成”命令,产生可执行的菜单程序文件(MPR)。
(4)在命令窗口中,使用DO命令执行菜单文件,此处的文件扩展名MPR不能默认。菜单设计的基本流程如图9-1所示。
图9-1 菜单设计的基本流程图 考点4 定义菜单
1“菜单设计器”窗口
“菜单设计器”窗口每页显示和定义一个菜单,可以是条形菜单(菜单栏),也可以是弹出式菜单(子菜单)。“菜单设计器”窗口打开时,首先显示和定义的是条形菜单,即主菜单名。窗口的左边是一个列表框,其中每一行定义当前菜单的一个菜单项,包括“菜单名称”、“结果”和“选项”3列内容(如图9-2所示)。(1)“菜单名称”列。(2)“结果”列。(3)“选项”列。2“显示”菜单
在菜单设计一器环境下,系统“显示”菜单会出现两条命令。(1)“常规选项”对话框。(2)“菜单选项”对话框。
图9-2 “菜单设计器”窗口 考点5 用编程方式定义菜单
无论是条形菜单还是弹出式菜单,都可以通过命令进行定义和设计。此处介绍几种有关菜单定义的简单命令。(1)条形菜单定义。(2)弹出式菜单定义。
考点6 为顶层表单添加菜单
为顶层表单添加下拉式菜单的方法和过程如下。(1)在“菜单设计器”窗口中设计好下拉式菜单。
(2)打开“常规选项”对话框,选中对话框右下角的“顶层表单”复选框。(3)将表单的ShowWindow属性设置为2,使之成为顶层表单。(4)在表单的Init事件中添加调用菜单的程序代码: DO<文件名>WITH This[,“<菜单名>”] 此处的<文件名>是指被调用的菜单程序文件(MPR),<菜单名>是为被添加的下拉式菜单的条形菜单指定的一个内部名字。
(5)在表单的Destroy事件中添加清除菜单的程序代码: RELEASE MENU<菜单名>[EXTENDED] 其中EXTENDED表示在清除条形菜单时一起清除其下属的所有子菜单。9.3 快捷菜单设计
考点7 快捷菜单的建立与执行
与下拉式菜单相比,快捷菜单没有条形菜单,只有弹出式菜单。建立快捷菜单的方法和过程如下。
(1)打开“新建”对话框二
(2)在“新建”对话框中选择“菜单”选项.单击“新建文件”按钮。
(3)在“新建菜单”对话框中选择“快捷菜单”选项,打开“快捷菜单设计器”窗口。
(4)用与设计下拉式菜单相似的方法,在“快捷菜单设计器”窗口中设计快捷菜单,生成菜单程序文件。
(5)在快捷菜单的“清理”代码中添加清除菜单的命令,使得在选择、执行菜单命令后能及时清除菜单,释放其所占用的内存空间,格式为: RELEASE POPUPS<快捷菜单名>[EXTENDED](6)在设计器环境下,选定需要添加快捷菜单的对象。
vfp二级选择题 第3篇
所谓无纸化考试就是取代传统考试形式 (笔试加上机操作) , 传统考试的笔试部分被移植到计算机上, 考核内容和要求不变。无纸化考试时间为130分钟, 满分100分, 其中选择题40分, 上机操作题60分。无纸化考试中, 总分达到60分且上机操作题达到36分, 方能取得合格证书。
二、考核形式的调整
最新的无纸化考试系统把传统笔试考试和上机操作合二为一, 其中传统笔试题改成选择题。上机操作题型并没有改变, 依然是由基本操作、简单应用和综合应用构成。
(一) 选择题
有40道, 其中公共基础知识占10道, 所占比率有所下降, 公共基础知识考试大纲如下:
1、数据结构与算法
(1) 算法的复杂度 (2) 数据结构 (3) 栈 (4) 队列 (5) 链表 (6) 二叉树 (7) 查找 (8) 排序
我们不但要了解相关的概念, 也要掌握其操作。在这些知识点中 (3) 栈 (4) 队列 (5) 链表 (6) 二叉树 (7) 查找是常考知识点, 尤其 (5) 二叉树基本上是必考知识点。例如:某二叉树共有7个结点, 其中叶子结点只有1个, 则该二叉树的深度为 (假设根结点在第1层) () 。
A) 3 B) 4 C) 6 D) 7
解析:根据二叉树的基本性质3:在任意一棵二叉树中, 度为0的叶子节点总比度为2的节点多一个, 所以本题中度为2的节点为1-1=0个, 所以可以知道本题目中的二叉树的每一个节点都有一个分支, 所以共7个节点共7层, 即深度为7。
2、程序设计基础
(1) 程序设计的方法与风格 (2) 结构化程序设计 (3) 面向对象方法
结构化程序设计这个知识点中的程序设计的原则和三大基本结构是常考题型, 例如:结构化程序设计的基本原则不包括 () 。
A) 逐步求精B) 模块化C) 自顶向下D) 多态性
解析:结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句, 所以不包括多态性。
3、软件工程基础
(1) 软件工程基础概念 (2) 软件生命周期 (3) 软件设计 (4) 结构化分析方法 (5) 软件测试 (6) 程序的调试
在这些知识点中软件设计、结构化分析方法和软件的测试是常考知识点。例如:在程序流程图中, 带有箭头的线段表示的是 () 。
A) 调用关系B) 控制流C) 数据流D) 图元关系
解析:在数据流图中, 用标有名字的箭头表示数据流。在程序流程图中, 用标有名字的箭头表示控制流。所以应该是控制流。
4、数据库设计基础
(1) 数据库的基本概念 (2) 数据库系统的发展和基本特点 (3) 数据库系统的内部体系结构 (4) 数据模型的基本概念 (5) E-R模型 (6) 关系模型 (7) 关系代数 (8) 数据库设计与原理
在这些知识点中关系代数和数据库设计与原理是常考知识点。
例如:有三个关系R、S和T如下:
则由关系R和S得到关系T的操作是 () 。
A) 自然连接B) 差C) 交D) 并
解析:关系T中的元组是R关系中有而S关系中没有的元组的集合, 所以进行的是差的运算。
(二) 上机操作
上机操作中的综合应用主要考查表单的设计与应用和菜单的设计与应用。其中表单的设计与应用多数考查文本框、表格控件, 我们要熟悉这些控件的常用属性, 例如文本框的VALUE属性、PASSWORDCHAR属性;表格的RECORDSOURCETYPE和RECORDSOURCE属性, 在应用中表格的RECORDSOURCETYPE多数为4。事件代码多数是SQL语句, 我们也应该能够根据题意正确书写事件代码。
例如:设计表单, 表单界面如下图所示, 要求控件的属性必须在属性窗口中设置。
表单文件名和表单标题均为“外汇浏览”。
⑴添加一个标签、一个文本框、一个表格、两个命令按钮, 并设置相应控件的属性, 其中表格控件的RECORDSOURCETYPE属性设置为4。
⑵编写相应的CLICK事件代码, 使得单击“查询”命令按钮, 被查询人持有的外币名称和持有数量显示在表格中, 并且按照持有数量升序显示, 查询结果存储以姓名命名的表文件中, 例如张三丰.DBF
⑶单击“退出”命令按钮关闭表单。
试题分析:这道题的关键是“查询”命令按钮CLICK事件代码的编写, 最终要查询外币名称和持有数量, 我们通过对相关表的查看, 可以确实这是两个表的连接查询, WHERE条件中有两个, 一是公共字段连接, 二是姓名是文本框的VALUE值。如果有排序则加上ORDER BY子句, 并将结果存储在以姓名命名的DBF表文件中, 我们可以通过&把文本框的值替换出来做为表的文件名。通过以上分析, 我们可以给出“查询”命令按钮的CLICK事件代码:
三、结语
只要考生能掌握好全国计算机二级考试大纲中的知识点, 攻破难点, 平时多练习、多总结, 就能轻松面对, 并最终通过考试。
摘要:从2012年9月份起, 计算机二级考试在考试形式上做了重大调整, 由传统考试形式改成无纸化考试, 各部分的分值也有所调整, 本人根据新大纲, 对公共基础知识和上机试题中的综合应用两大难点给出应试对策。
关键词:计算机二级考试,无纸化考试,应试对策
参考文献
[1]全家计算机等考试上机考试题库, 未来教育, 2012
vfp二级选择题 第4篇
第1题:
1. 建立菜单query_menu。该菜单只有“查询”和“退出”两个主菜单项(条形菜单), 其中单击菜单项“退出”时,返回到vfp系统菜单(相应命令写在命令框中,不要 写在过程中)。
2. 将course表的“开课系部”字段名改为“开课单位”,其余不变。
3. 从数据库score_manager中移去表temp2.dbf(不是删除)。
4. 将score1表中记录按学号从低到高排序,在学号相同的情况下再按成绩从高
到低排序,排序结果存入表new_order。
本题主要考核点:
菜单的建立、字段改名、数据库表的逻辑删除、表的排序及查询去向等知识点
本题解题思路:
第1题:本题的主要考核点是菜单的建立。新建菜单可按下列步骤:选择“文件”菜单中的“新建”命令,在“新建”对话框中选择“菜单”,单击“新建文件”按钮。在“新建菜单”对话框中选择“菜单”按钮,调出“菜单设计器”。也可用create menu命令直接调出菜单设计器。在菜单名称中填入“查询”、“退出”,“退出”结果为命令“set sysmenu to default”。
第2题:本题的主要考核点是字段的改名。
打开course表表设计器,将光标移动到“开课系部”字段格中,将其改为“开课单位”。
第3题:本题的主要考核点是数据库表的逻辑删除。
打开考生文件夹下的“ score_manager ”数据库,在“ score_manager ”数据库设计器中,选中“temp2”表,点击主菜单“数据库”下的“移去”,在弹出的对话框中点击“移去”按钮,在随后弹出的对话框中点击“是”按钮,至此便完成了“从数据库”score_manager“中移去表temp2(不是删除)”的操作。
第4题:本题的主要考核点是表的排序知识,查询去向。
select * from score1 order by 学号,成绩 desc into table new_order
第2题:
1. 在score_manager数据库中统计选修了课程的学生人数(选修多门时,只计算1次),统计结果保存在一个新表new_table中, 表中只有一个字段,字段名为学生人数。
2. 在score_manager数据库中查询没有学生选修的课程,查询结果含“课程名”和“开课单位”字段,结果按课程名升序保存在一个新表new_table2中(注意:字段名“开课单位”是在基本操作中根据“开课系部”修改后的字段名)。
本题主要考核点:本题的主要考核点是sql查询语句的使用,查询去向等知识点。
本题解题思路:第1题: 本题可以通过新建一个程序来实现统计,相关代码如下所示:
select student.姓名;
from course inner join score1;
inner join student ;
on student.学号 = score1.学号 ;
on course.课程号 = score1.课程号;
where course.课程号 = score1.课程号;
group by student.姓名;
into cursor temp
select count(姓名) as 学生人数 from temp;
into table new_table
第2题:本题的主要考核点是sql查询语句的使用。
select course.课程名, course.开课单位;
from course left outer join score1;
left outer join student ;
on student.学号 = score1.学号 ;
on course.课程号 = score1.课程号;
where course.课程号 !=score1.课程号;
order by course.课程名;
into table new_table2.dbf
第3题:
score_manager数据库中含有三个数据库表student、score1和course。 为了对score_manager数据库数据进行查询,设计一个表单myform3(控件名为form1,表单文件名为myform3)。表单标题为“成绩查询”;表单有“查询”(名称为command1)和“退出”(名称为command2)两个命令按钮。表单运行时,单击“查询”按钮,查询每门课程的最高分,查询结果中含“课程名”和“最高分”字段,结果按课程名升序保存在表new_table3。 单击“退出”按钮,关闭表单。
本题主要考核点: 表单文件的创建、控件的属性的修改、sql语句运用、表单的退出等知识点
本题解题思路:
第一步:在visual foxpro主窗口中按下组合键ctrl+n,系统弹出“新建”对话框,在文件类型中选择“表单”,点击“新建文件”按钮,系统将打开表单设计器;或直接在命令窗口中输入 crea form myform3。
第二步:点击工具栏按钮“表单控件工具栏”,在弹出的“表单控件”工具栏中,选中“命令按钮”控件,在表单设计器中拖动鼠标,这样在表单上得到一个“命令按钮”控件command1,用同样的方法为表单再加入一个“命令按钮”控件command2;
相关控件的属性值如下:
对象 属性 属性值
form1 caption 成绩查询
command1 caption 查询
command2 caption 退出
****命令按钮command1(查询)的click事件代码如下****
select course.课程名, max(score1.成绩) as 最高分;
from course inner join score1;
inner join student ;
on student.学号 = score1.学号 ;
on course.课程号 = score1.课程号;
group by course.课程名;
into table new_table3
****命令按钮command2(退出)的click事件代码如下****
thisform.release
第4题:
1. 打开数据库score_manager, 该数据库中含三个有联系的表student、score1 和course, 根据已经建立好的索引, 建立表之间联系。
2. 为course表增加字段:开课学期(n,2,0)。
3. 为score1表“成绩”字段设置字段有效性规则: 成绩>=0,出错提示信息是: “成绩必须大于或等于零”。
4. 将score1表“成绩”字段的默认值设置为空值(null)。
本题主要考核点:为已建立索引的表建立联系、设置字段的默认值、字段的添加、字段有效性的设置等知识点
本题解题思路:
第1题:本题的主要考核点是建立两个表之间永久联系。
在父表中选中主索引,按住鼠标拖动至子表相应的普通索引上,释放鼠标,联系即已建立。
第2题:本题的主要考核点是字段的添加的方法。
打开course表表设计器,将光标移动到最后的空字段格中,输入新的字段名、字段类型及长度。
第3题:本题的主要考核点是字段有效性的设置。
在表设计器中,选中“成绩”字段,在“字段有效性”中的“规则”文本框中填入: 成绩>=0,在“信息”文本框中中填入“成绩必须大于或等于零”,单击确定。
第4题:本题的主要考核点是字段默认值的设置。
在表设计器对话框中,选择“成绩”字段,点击null列下的按钮(表示此列允许空值),然后再在“字段有效性”中的默认值中填入.null.,单击确定。
第5题:
1. 在score_manager数据库中查询学生的姓名和年龄(计算年龄的公式是:-year(出生日期),年龄作为字段名),结果保存在一个新表new_table1中。使用报表向导建立报表new_report1,用报表显示new_table1的内容。报表
中数据按年龄升序排列,报表标题是“姓名-年龄”,其余参数使用缺省参数。
2. 在score_manager数据库中查询没有选修任何课程的学生信息,查询结果包括“学号”、“姓名”和“系部”字段,查询结果按学号升序保存在一个新表new_table2中。
本题主要考核点:
本题的主要考核点是sql查询语句的使用,查询去向、报表向导的使用等知识点
本题解题思路:
第1题:本题的主要考核点是sql查询语句的使用,查询去向、报表向导的使用。
select 姓名, 2003-year(出生日期) as 年龄;
from student;
into table new_table1.dbf
启动报表向导可在“文件”菜单中选择“新建”或者单击工具栏上的“新建”按钮,打开“新建”对话框,文件类型选择报表,单击向导按钮。或者在“工具”菜单中选择“向导”子菜单,选择“报表”,或直接单击工具栏上的“报表向导”图标按钮。然后按照向导提示操作即可。
第2题:本题的主要考核点是sql查询语句的使用。
select student.学号, student.姓名, student.系部;
from course right outer join score1;
right outer join student ;
on student.学号 = score1.学号 ;
on course.课程号 = score1.课程号;
where student.学号 != score1.学号 ;
order by student.学号;
into table new_table2.dbf
第6题:
1. 用sql语句完成下列操作: 将选课在5门课程以上(包括5门)的学生的学号、姓名、平均分和选课门数按平均分降序排序,并将结果存放于数据库表stu_temp(字段名为学号、姓名、平均分和选课门数)。
2. 建立一个名为menu_lin的下拉式菜单,菜单中有两个菜单项“查询”和“退出”。“查询”项下还有一个子菜单,子菜单有“按姓名”和“按学号”两个选项。在“退出”菜单项下创建过程,该过程负责使程序返回到系统菜单。
本题主要考核点:sql查询语句的使用,查询去向、下拉式菜单的建立等知识点
本题解题思路:
第1题:本题的主要考核点是sql查询语句的使用,查询去向。
select 学生.学号, 学生.姓名, avg(选课.成绩) as平均分,;
count(选课.课程号) as 选课门数;
from 学生!学生 inner join 学生!选课;
inner join 学生!课程;
on 课程.课程号 = 选课.课程号;
on 学生.学号 = 选课.学号;
group by 学生.姓名;
having count(选课.课程号)>=5;
order by 3 desc;
into table stu_temp.dbf
第2题:本题的主要考核点是菜单的建立。
新建菜单可按下列步骤:选择“文件”菜单中的“新建”命令,在“新建”对话框中选择“菜单”,单击“新建文件”按钮。在“新建菜单”对话框中选择“菜单”按钮,调出“菜单设计器”。也可用create menu命令直接调出菜单设计器。在菜单名称中填入“查询”、“退出”,“查询”结果为子菜单,单击编辑;在子菜单的菜单名称中输入“按姓名”、“按学号”,“退出”结果为过程,单击编辑,填入“set sysmenu to default”(不要引号)。
第7题:
设计名为mystock的表单(控件名,文件名均为mystock)。表单的标题为:“股票持有情况”。表单中有两个文本框(text1和text2)和两个命令按钮“查询” (名称为command1)和“退出”(名称为command2)。 运行表单时,在文本框text1中输入某一股票的汉语拼音,然后单击“查询”,则text2中会显示出相应股票的持有数量。 单击“退出”按钮关闭表单。
本题主要考核点:
表单的创建、控件的属性的修改、表单的退出、sql查询等知识点
本题解题思路:
第一步:在visual foxpro主窗口中按下组合键ctrl+n,系统弹出“新建”对话框,在文件类型中选择“表单”,点击“新建文件”按钮,系统将打开表单设计器;或直接在命令窗口中输入crea form mystock。
第二步:点击工具栏按钮“表单控件工具栏”,在弹出的“表单控件”对话框中,选中“命令按钮”控件,在表单设计器中拖动鼠标,这样在表单上得到一个“命令按钮”控件command1,用类似的方法为表单加入一个“命令按钮”控件command2,二个“文本框”控件text1和text2。
相关控件的属性值如下表所示:
对象 属性 属性值
form1 name mystock
caption 股票持有情况
command1 caption 查询
command2 caption 退出
***命令按钮command1(查询)的click事件代码如下****
select stock_sl.持有数量;
from stock!stock_name inner join stock!stock_sl ;
on stock_name.股票代码 = stock_sl.股票代码;
where stock_name.汉语拼音 = alltrim(thisform.text1.value);
into array temp
thisform.text2.value=temp
***命令按钮command2(退出)的click事件代码如下***
thisform.release
第8题:
1. 使用报表向导建立一个简单报表。要求选择客户表customer中所有字段;记录不分组;报表样式为随意式;列数为“1”,字段布局为“列”,方向为“纵向”;排序字段为“会员号”,升序;报表标题为“客户信息一览表”;报表文件名为
myreport。
2.使用命令建立一个名称为sb_view的视图,并将定义视图的命令代码存放到命令文件pview.prg。视图中包括客户的会员号(来自customer表)、姓名(来自customer表)、客户所购买的商品名(来自article表)、单价(来自orderitem
表)、数量(来自orderitem表)和金额(orderitem.单价 * orderitem.数量),结果按会员号升序排序。
本题主要考核点: 报表向导的使用,用命令建立视图等知识点
本题解题思路:
第1题:本题的主要考核点是使用报表向导制作报表。
启动报表向导可在“文件”菜单中选择“新建”或者单击工具栏上的“新建”按钮,打开“新建”对话框,文件类型选择报表,单击向导按钮。或者在“工具”菜单中选择“向导”子菜单,选择“报表”,或直接单击工具栏上的“报表向导”图标按钮。然后按照向导提示操作即可。
第2题:本题的主要考核点是用命令建立视图。
crea view sb_view
select customer.会员号, customer.姓名, article.商品名, orderitem.单价,;
orderitem.数量, orderitem.单价 * orderitem.数量 as 金额;
from ecommerce!customer inner join ecommerce!orderitem;
inner join ecommerce!article on article.商品号 = orderitem.商品号 ;
on customer.会员号 = orderitem.会员号 order by customer.会员号
第9题:
1. 打开ecommerce数据库,并将考生文件夹下的自由表orderitem添加到该数据 库。
2. 为orderitem表创建一个主索引,索引名为pk,索引表达式为“会员号+商品号”; 再为orderitem创建两个普通索引(升序),一个的索引名和索引表达式均是 “会员号”;另一个的索引名和索引表达式均是“商品号”。
3.通过“会员号”字段建立客户表customer和订单表orderitem之间的永久联系( 注意不要建立多余的联系)。
4.为以上建立的联系设置参照完整性约束:更新规则为“级联”;删除规则为 “限制”;插入规则为“限制”。
本题主要考核点:
将一个自由表添加到数据库中、表索引的建立、表之间的永久联系的建立、参照完整性约束的编辑等知识点
本题解题思路:
第1题:打开考生文件夹下的“ecommerce”数据库,打开数据库菜单选择“添加表(a)”,在弹出的“打开”对话框中,选定考生文件夹下的orderitem表,再点击“确定”即可,这样表order_detail就添加到了“ecommerce”数据库中。
第2题:在数据库设计器中选中表orderitem,在主菜单中选择“修改(y)”,弹出表设计器,选择表设计器“索引”标签,在索引名列中填入“pk”,在索引类型列中选择“主索引”,在索引表达式列中填入“会员号+商品号”,用同样的方法再为orderitem创建两个普通索引(升序),一个的索引名和索引表达式均是“会员号”;另一个的索引名和索引表达式均是“商品号”点击“确定”按钮,保存表结构。
第3题:在数据库设计器中,选中customer表中的索引“会员号”并拖动到表orderitem的“会员号”的索引上并松开,这样两个表之间就建立起了永久联系。
第4题:在第3题建立好永久联系之后,在两处表的“会员号”索引之间有一条线,单击这条表示两个表之间联系的线,线会加粗,此时在主菜单中选择“数据库”中的“编辑参照完整性(i)”,系统弹出“参照完整性生成器”对话框,在“更新规则”标签中,选择“级联”规则,在“删除”规则中选择“限制”,在“插入规则”中选择“限制”,单击“确定”保存所编辑的参照完整性。
第10题:
1. modi1.prg 程序文件中 sql select语句的功能是查询哪些零件(零件名称)目前用于三个项目, 并将结果按升序存入文本文件 results.txt。 给出的sql select 语句中在第 1、3、5 行各有一处错误,请改正并运行程序(不可以增、删语句或短语,也不可以改变语句行)。
2.根据项目信息(一方)和使用零件(多方)两个表、利用一对多报表向导建立一个报表,报表中包含项目号、项目名、项目负责人、(联系)电话、(使用的)零件号和数量等6个字段,报表按项目号升序排序,报表样式为经营式,在
总结区域(细节及总结)包含零件使用数量的合计,报表标题为“项目使用零件信息”,报表文件名为report。
本题主要考核点:vfp命令,报表向导的使用等知识点
本题解题思路:
第1题:本题是一个程序修改题。第一处错误select 零件名称 from 零件信息 where 零件号 =,应改为select 零件名称 from 零件信息 where 零件号 in;第二处错误为group by 项目号 having count(项目号) = 3),应改为group by 零件号 having count(项目号) = 3);第三处错误为in file results,应改为to file results
第2题:本题的主要考核点是使用报表向导制作报表。
vfp二级选择题 第5篇
一、选择题((一)——(35)每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,是有一个选项是正确的。请将正确选项添涂在答题卡相应的位置上,答在试卷上不得分。
(1)在写列四个选项中,不属于基本关系运算的是
A)连接 B)投影 C)选择 D)排序
(2)如果一个班只能有一个班长,而且一个班长不能同时担任其他班的班长,班级和班长两个实体之间的关系属于
A)一对一联系 B)一对二联系 C)多对多联系 D)一对多联系(3)VF支持的数据模型是
A)层次数据模型 B)关系数据模型 C)网状数据模型 D)树状数据模型(4)VF的命令窗口中键如CREATE DATA命令以后,屏幕会出现一个创建对话框,要想完成同样的工作,还可以采取如下步骤
A)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选钮,再单击“新建文件”命令按钮
B)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“数据库”单选钮,再单击“向导”命令按钮
C)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选钮,再单击“新建文件”命令按钮
D)单击“文件”菜单中的“新建”按钮,然后在新建对话框中选定“表”单选钮,再单击“向导”命令按钮
(5)将内存变量定义为全局变量的VF命令是 A)LOCAL B)PRIVATE C)PUBLIC D)GLOBAL 0(6)扩展名为DBC的文件是
A)表单文件 B)数据库表文件 C)数据库文件 D)项目文件
(7)建设已经生成了名为mymenu的菜单问,执行该菜单文件的命令是 A)DO mymenu B)DO mymenu.mpr C)DO mymenu.pjx D)DO mymenu.mnx0(8)下面有关索引的描述正确的是
A)简化里索引以后。原来的数据库表文件中记录的物理顺序将被改变 B)索引与数据库表的数据存储在一个文件中
C)创建索引是创建一个指向数据库表文件记录的指针构成的文件 D)使用索引并不能加快对表的查询操作
(9)若建立索引的字段值不允许重复,并且一个表中只能创建一个。它应该是 A)主索引 B)唯一索引 C)后选索引 D)普通索引(10)参照完整性的规则不包括
A)更新规则 B)删除规则 C)插入规则 D)检索规则
(11)一数据库名为student,要想打开该数据库,应使用的命令
A)OPEN student B)OPEN DATA student C)USE DATA student D)USE student(12)下列函数中函数值为字符型的是
A)DATE()B)TIME()C)YEAR()D)DATETIME()(13)在下面的数据类型中默认为.F.的是)数值型 B)字符型 C)逻辑型 D)日期型(14)在下面有关HAVING子句描述错误的是
A)HAVING子句必须与GROUP BY子句同时使用,不能单独使用 B)使用HAVING子句的同时不能使用WHERE子句 C)使用HAVING子句的同时可以使用WHERE子句 D)使用HAVING子句的作用是限定分组的条件(15)——(27)使用的数据如下:
当前盘当前目录下有数据库db_stock,其中有数据库表stock.dbf,该数据库表的内容是: 股票代码 股票名称 单价 交易所 0600600 青岛啤酒 7.48 上海 0600601 方正科技 15.20 上海 0600602 广电电子 10.40 上海 0600603 兴业房产 12.76 上海 0600604 二纺机 9.96 上海 0600605 轻工机械 14.59 上海 0000001 深发展 7.48 深圳
0000002 深万科 12.50 深圳
(15)执行如下SQL语句后0SELECT * FROM stock INTO DBF stock ORDER BY 单价 A)系统将会提示出错信息
B)会生成一个按“单价”升序排列的表文件,将原来的stock.dbf文件覆盖 C)会生成一个按“单价”降序排列的表文件,将原来的stock.dbf文件覆盖 D)不会生成排序文件,只能在屏幕上显示一个按“单价”排序的结果
(16)执行下列程序以后,内存变量a的内容是0CLOSE DATABASE0a=00USE stock 0GO TOP0DO WHILE.NOT.EOF()0IF 单价>100a=a+10END IF0SKIP0END D A)1 B)3 C)5 D)7(17)有如下SQL SELECT语句0SELECT * FORM stock WHERE 单价BETWEEN 12.76 AND 15.20与该语句等价的是
A)SELECT * FORM stock WHERE 单价<=15.20.AND.单价>= 12.76 B)SELECT * FORM stock WHERE 单价< 15.20.AND.单价>12.76 C)SELECT * FORM stock WHERE 单价>= 15.20.AND.单价<=12.76 D)SELECT * FORM stock WHERE 单价>15.20.AND.单价< 12.76(18)如果在建立数据库表stock.dbf时,将单价字段的字段有效性规则设为“单价>0”,通过该设置,能保证数据的
A)实体完整性 B)域完整性 C)参照完整性 D)表完整性(19)在当前盘当前目录下删除表stock的命令是
A)DROP stock B)DELETE TABLE stock C)DROP TABLE stock D)DELETE stock(20)有如下SQP语句0SELECT max(单价)INTO ARRAY a FROM stock0执行该语句后 A)a[1]的内容为15.2 B)a[1]的内容为6 C)a[0]的内容为15.2 D)a[0]的内容为6(21)有如下SQP语句0SELECT 股票代码,avg(单价)as 均价 FROM stock0GROUP BY 交易所 INTO DBF temp 0执行该语句后temp表中第二条记录的“均价”字段的内容是)ALTER TABLE stock 股票名称 WITH c(10)B)ALTER TABLE stock 股票名称 c(10)C)ALTER TABLE stock ALTRE 股票名称 c(10)D)ALTER TABLE stock 股票名称 c(10)(23)有如下SQP语句0CREATE VIEW stock_view AS SELECT * FROM stock WHERE 交易所=“深圳”0执行该语句后产生的视图包含的记录数个是 A)1 B)2 C)3 D)4(24)有如下SQP语句0CREATE VIEW view_stock AS SELECT 股票名称AS 名称、单价FROM stock0执行该语句后产生的视图含有的字段名是
A)股票名称、单价 B)名称、单价 C)名称、单价、交易所 D)股票名趁、单价、交易所(25)下面有关对视图的描述正确的是
A)可以使用MODIFY STRUCTURE命令修改视图的结构 B)视图不能删除,否则影响原来的数据文件
C)视图是对表的复制产生的
D)使用对视图进行查询时必须事先打开该视图所在的数据库
(26)执行如下SQP语句后0SELECTVDISTINCT 单价 FROM stock;0WHERE 单价=(SELECT min(单价)FROM stock)INTO DBF stock_x0表stock_x中的记录个数是 A)1 B)2 C)3 D)4(27)求每个交易所的平均单价的SQP语句是
A)SELECT 交易所,avg(单价)FROM stock GROUP BY单价 B)SELECT 交易所,avg(单价)FROM stock ORDER BY单价 C)SELECT 交易所,avg(单价)FROM stock ORDER BY交易所 D)SELECT 交易所,avg(单价)FROM stock GROUP BY交易所(28)视图设计器中含有的、但查询设计器却没有的选项卡是 A)筛选 B)排序依据 C)分组依据 D)更新条件(29)下面关于查询描述正确的是 A)可以使用CREATE VIEW 打开查询设计器
B)使用查询设计器可以生成所有的SQP查询语句
C)使用查询设计器生成的SQP语句存盘后将存放在扩展名为QPR的文件中 D)使用DO语句执行查询时,可以不带扩展名
(30)使用报表向导定义报表时,定义报表布局的选项是 A)列数、方向、字段布局 B)列数、行数、字段布局 C)行数、方向、字段布局 D)列数、行数、方向
(31)能够将表单的Visible属性设置为.T.,并使表单成为活动对象的方法是 A)Hide B)Show C)Release D)SetFocus(32)下面对编辑框(EditBox)控制属性的描述正确的是 A)SelLength属性的设置可以小于0 B)当ScrollBars的属性值为0时,编辑框内包含水平滚动条 C)SeText属性在做界面设计时不可用,在运动时可读写 D)Readonly属性值为.T.,用户不能使用编辑框上的滚动条(33)下面对控件的描述正确的是)用户可以在组合框中进行多重选择 B)用户可以在列表框中进行多重选择
C)用户可以在一个选项组中多个选项按钮
D)用户对一个表单内的一组复选框中只能选中其中一个
(34)确定列表框内的某个条目是否被选定应使用的属性是0A)value B)ColumnCount C)ListCount D)Selected0(35)没有关系R1和R2,经过关系运算得到结果是S,则S 是 A)一个关系 B)一个表单 C)一个数据库 D)一个数组
二、填空题(每空2分,共30分)请将答案分别写在答题卡中的序号为[1]——[5]的横线上,答在试卷上不得分。
(1)Visual FoxPro 6.0是一个 [ 1 ] 位的数据棵管理系统。(2)在连接运算中,[ 2 ] 连接是去掉重复属性的等值连接。
(3)项目管理器的 [ 3 ] 选项卡用于显示和管理数据库、自由表和查询等。(4)自由表的扩展名是 [ 4 ]。
(5)LEFT(“123456789”,LEN(“数据库”))的计算结果是 [ 5 ]。
(6)同一个表的多个索引可以创建在一个索引文件中,索引文件名与相关的表同名,索引文件的扩展名是 [ 6 ],这种作因称为 [ 7 ]。
(7)用来确定复选框是否被选中的属性是 [ 8 ],用来指定显示在复选框旁的文字的属性是 [ 9 ] 下面各题使用如下的“教师”表和“学院”表
“教师”表 职工号 姓名 职称 年龄 工资 系号011020001 肖天海 副教授 35 2000.00 01 011020002 王岩盐 教授 40 3000.00 02 011020003 刘星魂 讲师 25 1500.00 01 011020004 张月新 讲师 30 1500.00 03 0111020005 李明玉 教授 34 2000.00 01 011020006 孙民山 教授 47 2100.00 02 011020007 钱无名 教授 49 2200.00 03 0“学院”表0系号 系名 001 英语 002 会计 003 工商管理
(8)使用SQP语句将一条新的记录插入学院表0INSERT [ 10 ] 学院(系号,系名)[ 11 ](“04”,“计算机”)
(9)使用SQP语句求“工商管理”系的所有职工的工资总和。0SELECT [ 12 ](工资)FROM 教师0WHERE 系号 IN(SELECT 系号 FROM [ 13 ] WHERE 系名=“工商管理”)
(10)使用SQP语句完成如下操作(将所有教授的工资提高5%)0[ 14 ] 教师 SET 工资=工资*1.05 [ 15 ] 职称=“教授”
2002年9月VF试题答案(仅供参考)
DABAC CBCAD BBCBA CABCA BCBBD ADDCA BCBDA032 自然 数据.DBF 123456.CDX 结构复合索引 value CAPTION INTO valueS SUM 学院 UPDATE WHERE
一、2003年4月全国计算机等级考试VF二级笔试试题
选择题((1)~(35)每小题2分,共70分)
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在大题卡相应位置上,答在试卷上不得分。 (1)Visual FoxPro DBMS 是
A)操作系统的一部分 B)操作系统支持下的系统软件 C)一种编译程序 D)一种操作系统
(2)Visual FoxPro DBMS 基于的数据模型是 A)层次型 B)关系型 C)网状型 D)混合型
(3)设有部门和职员两个实体,每个职员只能属于一个部门,一个部门可以有多名职员,则部门与职员实体之间的联系类型是
A)m:n B)1:m C)m:k D)1:1
(4)在Visual FoxPro中,调用表设计器建立数据库表STUDENT.DBF的命令是 A)MODIFY STRUCTURE STUDENT B)MODIFY COMMAND STUDENT C)REATE STUDENT D)CREATE TABLE STUDENT (5)在Visual FoxPro中,关于自由表叙述正确的是
A)自由表和数据库表是完全相同的 B)自由表不能建立字段级规则和约
C)自由表不能建立候选索引 D)自由表不可以加入到数据库中
(6)在Visual FoxPro中,建立数据库表时,将年龄字段值限制在12~14之间的这种约束属于 A)实体完整性约束 B)域完整性约束 C)参照完整性约束 D)视图完整性约(7)在Visual FoxPro中,运行表单T1.SCX的命令是
A)DO T1 B)RUN FORM1 T1 C)DO FORM T1 D)DO FROM T1 (8)使用SQL语句进行分组检索时,为了去掉不满足条件的分组,应当 A)使用WHERE子句 B)在GROUP BY后面使用HAVING 子句 C)先使用WHERE子句,再使用HAVING 子句。
D)先使用HAVING 子句,再使用WHERE子句
(9)在Visual FoxPro的参照完整性规则不包括 A)更新规则 B)删除规则 C)查询规则 D)插入规则
(10)在Visual FoxPro中,表结构中的逻辑型、通用型、日期型字段的宽度由系统自动给出,它们分别为: A)1、4、8 B)4、4、10 C)1、10、8 D)2、8、8
(11)在Visual FoxPro中,学生表STUDENT中包含有通用型字段,表中通用型字段中的数据均存储到另一个文件中,该文件名为 A)STUDENT.DOC B)STUDENT.MEN
(12)在Visual FoxPro中,使用“菜单设计器”定义菜单,最后生成的菜单程序的扩展 A)MNX B)PRG C)MPR D)SPR (13)在Visual FoxPro中,使用SQL命令将学生STUDENT中的学生年龄AGE字段的值增加1岁,应该使用的命令是
A)REPLACE AGE WITH AGE+1 B)UPDATE STUDENT AGE WITH AGE+1 C)UPDATE SET AGE WITH AGE+1 D)UPDATE STUDENT SET AGE=AGE+1(14)调用报表格式文件PP1预览报表的命令是
A)REPORT FROM PP1 PREVIEW B)DO FROM PP1 PREVIEW C)REPORT FORM PP1PREVIEW D)DO FORM PP1 PREVIEW
(15)在Visual FoxPro中,建立索引的作用之一是
A)节省存储空间 B)便于管理 C)提高查询速度 D)提高查询和更新的速度(16)在Visual FoxPro中,相当于主关键字的索引是
A)主索引 B)普通索引 C)唯一索引 D)排序索引 (17)在Visual FoxPro中,为了将表单从内存中释放(清除),可将表单中退出命令按钮的Click事件代码设置为
A)ThisForm.Refresh B)ThisForm.Delete C)ThisForm.Hide D)ThisForm.Release(18)假定一个表单里有一个文本框Text1和一个命令按钮组CommandGroup1,命令按钮组是一个容器对象,其中包含Command1 和Command2两个命令按钮。如果要在Command1令按钮的某个方法中访问文本框的value属性值,下面哪个式子是正确的? A)ThisForm.Text1.value B)This.Parent.value C)Parent.Text1.value D)this.Parent.Text1.value(19)在Visual FoxPro 中,创建一个名为SDB.DBC的数据库文件,使用的命令是 A)CREATE B)CREATE SDB C)CREATE TABLE SDB D)CREATE DATABASE SDB
(20)在Visual FoxPro中,存储图象的字段类型应该是B
A)备注型 B)通用型 C)字符型 D)双精度型
(21)在Visual FoxPro中,下面4个关于日期或日期时间的表达式中,错误的是 A){^2002.09.01 11:10:10:AM}-{^2001.09.01 11:10:10AM} B){^01/01/2002}+2 C){^2002.02.01}+{^2001.02.01} D){^2002/02/01}-{^2001/02/01}
(22)在Visual FoxPro中,关于过程调用的叙述正确的是 A)当实参的数量少于形参的数量时,多余的形参初值取逻辑假 B)当实参的数量多于形参的数量时,多余的实参被忽略 C)实参与形参的数量必须相等 D)上面A和B都正确 (23)下面是关于表单数据环境的叙述,其中错误的是
A)可以在数据环境中加入与表单操作有关的表 B)数据环境是表单的容器
C)可以在数据环境中建立表之间的联系 D)表单自动打开其数据环境中的(24)在Visual FoxPro中,如果希望一个内存变量只限于在本过程中使用,说明这种内存变量的命令是:
B)PUBLIC C)LOCAL
D)在程序中直接使用的内存变量(不通过A,B,C说明) (25)在 DO WHILE „ ENDDO循环结构中,LOOP命令的作用是: A)退出过程,返回程序开始处
B)转移到DO WHILE语句行,开始下一个判断和
C)终止循环,将控制转移到本循环结构ENDDO后面的第一条语句继续执行 D)终止程序执行
(26)在Visual FoxPro中,关于视图的正确叙述是
A)视图与数据库表相同,用来存储数据 B)视图不能同数据库表进行连接操作 C)在视图上不能进行更新操作 D)视图是从一个或多个数据库表导出的虚拟表(27)SQL是那几个英文单词的缩写
A)Standard Query Language B)Structured Query Language C)Select Query Language D)以上都不是
(28)如果学生表STUDENT是使用下面的SQL语句创建的 CREATE TABLE STUDENT(SNOC(4)PRIMARY KEY NOTNULL,;SN C(8),;SEX C(2),;AGE N(2)CHECK(AGE>15 AND AGE<30)下面的SQL语句中可以正确执行的是
A)INSERT INTO STUDENT(SNO,SEX,AGE)valueS(“S9”,“男”,17) B)INSERT INTO STUDENT(SNO,SEX,AGE)valueS(“李安琦”,“男”,20)C)INSERT INTO STUDENT(SEX,AGE)valueS(“男”,20)
D)INSERT INTO STUDENT(SNO,SN)valueS(“S9”,“安琦”,16)
(29)使用SQL语句从表STUDENT中查询所有姓王的同学的信息,正确的命令是: A)SELECT*FROM STUDENT WHERE LEFT(姓名,2)=“王” B)SELECT*FROM STUDENT WHERE RIGHT(姓名,2)=“王” C)SELECT*FROM STUDENT WHERE TRIM(姓名,2)=“王” D)SELECT*FROM STUDENT WHERE STR(姓名,2)=“王”
(30)连编后可以脱离开Visual FoxPro独立运行的程序是 A)APP程序 B)EXE程序 C)FXP程序 D)PRG程序
第(31)-(35)题使用如下表的数据:
部门表 部门号 部门名称 40 家用电器部 10 电视录摄像机部 20 电话手机部 30 计算机部 商品表 部门号 商品号 商品名称 单价 数量 产地 40 0101 A牌电风扇 200.00 10 广东 40 0104 A牌微波炉 350.00 10 广东 40 0105 B牌微波炉 600.00 10 广东 20 1032 C牌传真机 1000.00 20 上海 40 0107 D牌微波炉_A 420.00 10 北京 20 0110 A牌电话机 200.00 50 广东 20 0112 B牌手机 2000.00 10 广东 40 0202 A牌电冰箱 3000.00 2 广东 30 1041 B牌计算机 6000.00 10 广东 30 0204 C牌计算机 10000.00 10 上海 (31)SQL语句
SELECT部门号,MAX(单价*数量)FROM商品表GROUP BY部门号查询结果有几条记录? A)1 B)4 C)3 D)10
(32)SQL语句 SELECT 产地,COUNT(*)提供的商品种类数; FROM 商品表; WHERE 单价>200; GROUP BY 产地 HAVING COUNT(*)>=2; ORDER BY 2 DESC 查询结果的第一条记录的产地和提供的商品种类数是
A)北京,1 B)上海,2 C)广东,5 C)广东,7
(33)SQL 语句 SELECT 部门表.部门号,部门名称,SUM(单价*数量); FROM 部门表,商品表; WHERE 部门表.部门号=商品表.部门号; GROUP BY 部门表.部门号 查询结果是
A)各部门商品数量合计 B)各部门商品金额合计
C)所有商品金额合计 D)各部门商品金额平均值
(34)SQL 语句 SELECT 部门表.部门号,部门名称,商品号,商品名称,单价; FROM 部门表,商品表;、WHERE 部门表.部门号=商品表.部门号; ORDER BY 部门表.部门号 DESC,单价 查询结果的第一条记录的商品号是A)0101 B)0202 C)0110 D)0112 (35)SQL 语句 SELECT 部门名称 FROM 部门表 WHERE 部门号 IN; (SELECT 部门号 FROM 商品表 WHERE 单价 BETWEEN 420 AND 1000)查询结果是 A)家用电器部、电话手机部 B)家用电器部、计算机部
C)电话手机部、电视录摄像机部 D)家用电器部、电视录摄像机部
二、填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡上【1】—【15】序号的答题卡上,答在试卷上不得分。 (1)用二维表数据来表示实体之间联系的数据模型称为【1】。
(2)在Visual FoxPro 中说明数组后,数组的每个元素在未赋值之前的默认值是【2】。(3)可以在项目管理器的 【3】 选项卡下建立命令文件。
(4)在Visual FoxPro中数据库文件的扩展名是【4】.DBC,数据库表文件的扩展名是【5】(5)打开数据库设计器的命令是【6】DATA
(6)在SQL的CAEATA TABLE 语句中,为属性说明取值范围(约束)的是【7】短语。(7)SQL插入记录的命令是INSERT,删除记录的命令是【8】,修改记录的命令是【9】。(8)在SQR的嵌套查询中,量词ANY和【10】是同义词。在SQL查询时,使用【11】 子句指出的是查询条件。 (9)从职工数据库表中计算工资合计的SQL语句是 SELECT【12】FROM职工。(10)把当前表当前记录的学号,姓名字段值复制到数组A 的命令是 SCATTER FIELD 学号,姓名【13】。
(11)在表单中确定控件是否可见的属性是【14】。 (12)函数BETWEEN(40,34,50)的运算结果是【15】。
答案:
一、选择题(1)B(2)B(3)B(4)C(5)B(6)B(7)C(8)B(9)C(10)A(11)D(12)C(13)D(14)C(15)C(16)A(17)D(18)A(19)D(20)B(21)C(22)A(23)B(24)C(25)B(26)D(27)B(28)A(29)A(30)B(31)C(32)C(33)B(34)A(35)A
二、填空题(答案字母大小写均可)(1)【1】 关系模型 或 关系(2)【2】.F.或 逻辑假 或 假 或.N.(3)【3】 代码 或 全部(4)【4】 DBC 或.DBC 【5】 DBF 或.DBF(5)【6】 MODIFY 或 MODI 或 MODIF(6)【7】 CHECK 或 CHEC(7)【8】 DELETE 或 DELE 或 DELET 【9】 UPDATE 或 UPDA 或 UPDAT(8)【10】 SOME 【11】 WHERE 或 WHER(9)【12】 SUM(工资)(10)【13】 TO A(11)【14】 Visible(12)【15】.T.或 逻辑真 或 真 或.Y.2003年9月全国计算机等级考试二级Foxpro笔试试题
一、选择题((1)~(40)每题1分,(41)~(50)每 题2分,共60分)
(1)在计算机中,一个字节所包含二进制位的个数是 A)2 B)4 C)8 D)16
(2)在多媒体计算机中,CD-ROM属示媒体于 A)存储媒体 B)传输媒体 C)表现媒体 D)表
(3)在DOS系统中,带有通配符的文件名*.*表示
A)硬盘上的全部文件 B)当前盘当前目录中的全部文件
C)当前盘上的全部文件 D)根目录中的全部文件
(4)十六进制数100转换为十进制数为 A)256 B)512C)1024 D)64
(5)能将高级语言编写的源程序转换为目标程序的软件是
A)汇编程序 B)编辑程序 C)解释程序 D)编译程序
(6)在Internet中,用于在计算机之间传输文件的协议是
A)TELNET B)BBS C)FTP D)O,GRADE),其中SNO,CNO分别表示意图学号和课程号(两者均为字符型),GRADE表示成绩(数值型),若要把学号为”S101”的同学,选修课程号为”C11”,成绩为98分的记录插入到表SC中,正确的语名是。
A)INSERT INTO SC(SNO,CNO,GRADE)VALUES(‘S101’,‘C11’,‘98’)B)INSERT INTO SC(SNO,CNO,GRADE)VALUES(S101,C11,98)C)INSERT(‘S101’,‘C11’,‘98’)INTOSC D)INSERT INTO SC VALUES(S104,C11,98)(17)以下有关SELECT短语的叙述中错误的是。A)SELECT短语中可以使用别名
B)SELECT短语中只能包含表中的列及其构成的表达式 C)CELECT短语规定了结果集中的列顺序
D)如果FROM短语引用两个表有同名的列,则SELECT短语引用它们时必须使用表名前缀加以限定.(18)在SQL语句中,与表达式”年龄BETWEEN12AND16功能相同的表达式是。A)年龄>=12OR<=46 B)年龄>=12AND<=46 C)年龄>=12OR年龄<=46 D)年龄>=12AND年龄<=46(19)在SELECT语句中,以下有关HAVING短语的正确叙述是。A)HAVING短语必须与GROUP BY 短语同时使用 B)使用HAVING短语同时不能使用WHERE短语 C)HAVING短语可以在任意的一个位置出现 D)HAVING短语与WHERE短语功能相同
(20)在SQL的SELECT查询的结果中,消除重复记录的方法是。A)通过指定主索引实现 B)通过指定惟一索引实现 C)使用DISTINCT短语实现 D)使用WHERE短语实现
(21)在Visal Foxpro中,假定数据库表S(学号,姓名,性别,年龄)和SC(学号,课程号,成绩)之间使用学号建立了表之间的永久联系,在参照完整性的更新规则,删除规则和插入规则中选择了设置了“限制”如果表S所有的记录在表SC中都有相关联系的记录,则。A)允许修改表S中的学号字段值 B)允许删除表S中的记录
C)不允许修改表S中的学号字段值 D)不允许在表S中增加新的记录(22)在VisualFoxpro中,对于字段值为空值(NULL)叙述正确的是。A)空值等同于空字符串 B)空值表示字段还没有确定值 C)不支持字段值为空值 D)空值等同于数值0(23)在Visual Foxpro中,如果希望内存变量只能在本模块(过程)中使用,不能在上层或下层模块中使用,说明该种内存变量的命令是。
A)PRIVATE B)LOCAL C)PUBLIC D)A不用说明,在程序中直接使用
(24)在Visual Foxpro中,下面关于索引的正确描述是。A)当数据库表建立索引以后,表中的记录的物理顺序将被改变 B)索引的数据将与表的数据存储在一个物理文件中
C)建立索引是创建一个索引文件,该文件包含着有指向表记录的指针 D)使用索引可以加快对表的更新操作
(25)在Visnal FoxPrn中.在数据库中创建表的CREATE TABLE命令中定义主索引,实现实体完整性规则的短语是。
A)FOREIGE KEY B)DEFAULT C)PRIMARY KEY D)CHECK(26)在Visual Foxpro中,以下关于查询的描述正确的是。A)不能用自由表建立查询 B)只能用自由表建立查询
C)不能用数据库表建立查询 D)可以用数据表和自由表建立查询
(27)在Visual Foxpro中,数据库表的字段或记录的有效性规则的设置可以在。A)项目管理器中进行 B)数据库设计器中进行
C)表设计器中进行 D)表单设计器中进行(28)在Visual Foxpro中,如果要将学生表S(学号,姓名,性别,年龄)中“年龄”属性删除,正确的SQL命令是。
A)ALTER TABLE S DROP COLUMN 年龄 B)DELETE 年龄FROM S C)ALTER TABLE S DELETE COLUMN 年龄
D)ALTER TABLE S DELETE年龄
(29)在Visual Foxpro的数据库表中只能有一个。A)候选索引 B)普通索引 C)主索引 D)惟一索引
(30)设有学生表S(学号,姓名,性别,年龄),查询所有年龄小于等于18岁的女同学,并按年龄进行降序生成新的表WS,正确的SQL命令是。
A)SELECT*FROMS WHERE性别=“女”AND年龄<=18ORDER BY 4 DBSC INTO TABLE WS B)SELECT*FROMS WHERE性别=“女”AND年龄<=18ORDER BY 年龄 INTO TABLE WS C)SELECT*FROMS WHERE性别=“女”AND年龄<=18ORDER BY 年龄 DESC INTO TABLE WS D)SELECT*FROMS WHERE性别=“女”OR 年龄 <=18ORDER BY 年龄ASC INTO TABLE WS(31)设有学生选课表SC(学号,课程号,成绩),用SQL检索同时选修课程号为“C1”“C5”的学生的学号的正确命令是
A)SELECT学号FROM SC WHERE 课程号=“C1”AND课程号=“C5”
B)SELECT学号FROM SC WHERE 课程号=“C1”AND课程号=(SELECT课程号 FROM SC WHERE 课程号=“C5”)
C)SELECT学号FROM SC WHERE 课程号=“C1”AND学号=(SELECT学号 FROM SC WHERE 课程号=“C5”)
D)SELECT学号FROM SC WHERE 课程号=“C1”AND学号 IN(SELECT学号 FROM SC WHERE 课程号=“C5”)
(32)设有学生表S(学号,姓名,性别,年龄)、课程表 C(课程名,学分)和学生选课表SC(学号,课程号,成绩),检索学号、姓名和学生所选课程的课程名和成绩,正确的DQL命令是。A)SELECT学号,姓名,课程名,成绩 FROM S,SC,C WHERE S.学号=SC.学号AND SC.学号=C.学号
B)SELECT学号,姓名,课程名,成绩 FROM(SJOIN SC ON S.学号=SC.学号)JOIN C ON SC.课程号 =C.课程号
C)SELECT学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON S.学号=SC.学号ON SC.课程号=C.课程号
D)SELECT学号,姓名,课程名,成绩 FROM S JOIN SC JOIN C ON SC.课程号=C.课程号 ONS,学号=SC.学号
(33)在Visual FoxPro中以下叙述正确的是。A)表也被称作表单 B)数据库文件不存储用户数据 C)数据库文件的扩展名是DBF D)一个数据库中的所有表文件存储在一个物理文件中
(34)在Visual FoxPro中,释放表单时会引发的事件是。A)UnLoad事件 B)Init事件 C)Load事件 D)Release事件
(35)在Visual FoxPro中,在屏幕上预览报表的命令是。A)PREVIEW REPORT B)REPORT FORM···PREVIEW
C)DO REPORT···PREVIEW D)RUN REPORT···PREVIEW
二、填空题(每空2分,共30分)
请将每一个空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。注意:以命令关键字填空的必须拼写完整。
(1)在深度为7的满二叉树中,度为2的结点个数为 【1】。
(2)软件测试分为白箱(盒)测试和黑箱(盒)测试。等价类划分法属于【2】 测试。
(3)在数据库系统中,实现各种数据管理功能的核心软件称为【3】。
(4)软件生命周期可分为多个阶段,一般分为定义阶段,开发阶段和维护阶段,编码和测试属于【4】 阶段。
(5)在结构化分析使用的数据流图(DFD)中,利用【5】 对其中的图形元素进行确切解释。(6)为使表单运行时在主窗口中居中显示。应设置表单的AutoCenter属性值为【6】。(7)?AT(“EN”,RIGHT(“STUDENT”,4)的执行结果是【7】。
(8)数据库表上字段有效性规则是一个【8】 表达式。
(9)在Visual FoxPro中,通过建立数据库表的主索引可以实现数据的【9】 完整性。(10)执行下列程序,显示的结果是【10】。one=“WORK” two=“” a=LEN(one)i =a DO WHILE i >1 Two=two+SUBSTR(one,i , 1)i =i –1 ENDDO two(11)“歌手”表中有“歌手号”、“姓名”和“最后得分”三个字段,“最后得分”越高名次越靠前,查询前10名歌手的SQL语句是 SELECT*【10】 FROM 歌手ORDER BY 最后得分【12】。
(12)已有“歌手”表,将该表中的“歌手号”字段定义为候选索引、索引名是temp,正确的SQL语句是【13】 TABLE 歌手 ADD UNIQUE 歌手号 TAG temp(13)连编应用程序时,如果选择连编生成可执行程序,则生成的文件的扩展名是【14】。
(14)为修改已建立的报表文件打开报表设计器的命令是【15】 REPORT
答案
1、C 解析: 栈和队列都是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。二者的区别是:栈只允许在表的一端进行插入或删除操作,是一种“后进先出”的线性表;而队列只允许在表的一端进行插入操作,在另一端进行删除操作,是一种“先进先出”的线性表。
2、D 解析: 依据后序遍历序列可确定根结点为c;再依据中序遍历序列可知其左子树由deba构成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d,右子树由ba构成,如下图所示。求得该二叉树的前序遍历序列为选项D)。
3、B 解析: 链表采用的是链式存储结构,它克服了顺序存储结构的缺点:它的结点空间可以动态申请和释放;它的数据元素的逻辑次序靠结点的指针来指示,不需要移动数据元素。但是链式存储结构也有不足之处:① 每个结点中的指针域需额外占用存储空间;② 链式存储结构是一种非随机存储结构。
4、D 解析: 顺序结构、选择结构和循环结构(或重复结构)是结构化程序设计的3种基本结构。
5、D 解析: 测试的目的是发现软件中的错误。经验表明,程序中存在错误的概率与该程序中已发现的错误数成正比。这一现象说明,为了提高测试效率,测试人员应该集中对付那些错误群集的程序。
6、C 解析: 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。所谓算法的时间复杂度是指执行算法所需要的计算工作量;算法的空间复杂度一般是指执行这个算法所需要的内存空间。
7、D 解析: 软件生命周期分为软件定义、软件开发及软件运行维护3个阶段。本题中,详细设计、软件编码和软件测试都属于软件开发阶段;维护是软件生命周期的最后一个阶段,也是持续时间最长,花费代价最大的一个阶段,软件工程学的一个目的就是提高软件的可维护性,降低维护的代价。
8、C 解析: 选项A)、B)显然不合题意。数据定义语言(Data Definition Language,简称DDL)负责数据的模式定义与数据的物理存取构建;数据操纵语言(Data Manipulation Language,简称DML)负责数据的操纵,包括查询及增、删、改等操作。
9、C 解析: 数据库(Database,简称DB)是数据的集合,它具有统一的结构形式并存放于统一的存储介质内,是多种应用数据的集成,并可被各个应用程序所共享。数据库中的数据具有“集成”、“共享”之特点。
10、D 解析: 数据处理是指将数据转换成信息的过程,故选项A)叙述错误;数据的物理独立性是指数据的物理结构的改变,不会影响数据库的逻辑结构,故选项B)叙述错误;关系中的行称为元组,对应存储文件中的记录,关系中的列称为属性,对应存储文件中的字段,故选项C)叙述错误。
11、A 解析: Visual FoxPro就是一种关系数据库管理系统,一个“表”就是一个关系,一个关系就是一个二维表。关系数据库管理系统可管理若干个二维表。
12、B 解析: 关系的基本运算可以分为两类:传统的集合运算和专门的关系运算。传统的集合运算包括并、差、交等,专门的关系运算包括选择、投影和联接。
13、D
14、C 解析: 字符型数据的定界符为半角单引号、双引号或方括号。但是,如果某种定界符本身也为字符串内容,则需要用另一种定界符为该字符串定界。
15、C 解析: 变量值可以随时改变。在Visual FoxPro中,将变量分为字段变量和内存变量,变量的类型是可以随时改变的,它的类型取决于变量值的类型,并不是变量类型决定变量值的类型,它是随变量值的改变而改变。
16、C 解析: 结构复合索引文件是Visual FoxPro数据库中最普通的,也是最重要的一种索引文件,它会随着表的打开而自动打开。
17、A 解析: 实体完整性是保证表中记录惟一的特性,即在一个表中不允许有重复的记录。在Visual FoxPro中利用主关键字或候选关键字来保证表中的记录惟一。
18、C 解析: LOCATE FOR是指查找到第1条满足要求的记录,然后使用CONTINUE继续查找下1条满足要求的记录。选项B)是查找所有满足要求的记录。选项A),D)命令格式错误。
19、D 解析: 索引文件是数据库的一部分,会随着数据库的关闭而关闭。20、B 解析: 在自由表中不可使用长字段名,字段名的最大值是10;数据库表中可以使用长字段名,最大值为128。
21、C 解析: 在Visual FoxPro中,如果要在同一时刻打开多个表,只需要利用SELECT命令选择不同的工作区并打开不同的表即可。最小的工作区号是1,最大的是32 767,即可以同时打开32 767个表。
22、C 解析: 查询可以从指定的表或视图中提取满足条件的记录,但它并不只限于单个表或视图,查询设计器的局限性是指它只能建立一些规则的查询,如果要建立比较复杂的查询,则只能通过SQL
SELECT语句来实现。
23、B 解析: 在Visual FoxPro中,视图可以引用一个或多个表,也可以引用其他视图,是一个定制的虚拟表,它可以是本地视图、远程视图或带参数的。
24、A 解析: WAIT命令只能接收单个字符型数据,可以在用户输入一个字符后自动结束该命令,故答案为A)。
25、D 解析: 公共变量可以被整个程序调用;私有变量只能被本层模块和下层模块程序调用;而局部变量只能被本层模块调用,其他模块都不能调用局部变量。
26、C 解析: 该循环语句中,变量s和i每次执行循环后值的变化如下: s值 i值第一次循环 5 6,第二次循环 11 7,第三次循环 18 8,程序在第四次执行循环时,因条件(18<=11)为假而退出循环。
27、C解析: 在Visual FoxPro中,类可分为控件类和容器类。控件类用于进行一种或多种相关的控制,其封装性比容器类更加严密,但灵活性比容器类差,故答案为C)。
28、B 解析: 在Visual FoxPro中,对象被选定,就获得焦点。如果要为控件设置焦点,Enabled和Visible属性的值必须为真(.T.),其中Enabled属性决定控件是否可用,而Visible属性决定控件是否可见。
29、D 解析: 编辑框实际上是一个完整的字处理器,可进行选择、剪切、粘贴及复制正文等操作,但在编辑框中只能输入和编辑字符型数据。30、A 解析: Visual FoxPro中,支持两种类型的菜单,分别是条形菜单和弹出式菜单。菜单系统一般是一个下拉式菜单,它是由一个条形菜单和一个弹出式菜单所组成的。
31、B 解析: 在报表设计器中,报表包括若干个带区,页标头、细节和页注脚3个带区是快速报表默认的基本带区,如果要使用其他带区,用户可在“报表”菜单中进行设置。
32、D 解析: Visual FoxPro在SQL方面支持数据定义、数据查询和数据操纵功能。由于Visual FoxPro自身在安全控制方面的缺陷,它没有提供数据控制功能。
33、C 解析: SELECT查询语句最基本的格式为SELECT-FROM-WHERE。选项A)缺少FROM短语,选项B)和D)中条件短语错误。
34、D解析: 选项A)中缺少查询的“仓库”表,且查询条件联接有误;选项B)中同样缺少查询的“仓库”表;选项C)中查询条件错误,应使用AND进行条件联接,而不是OR。
35、D解析: 利用EXISTS或NOT EXISTS,可用来检查在子查询中是否有结果返回。利用运算符IN来表示,可写成如下格式: SELECT * FROM 仓库表 WHERE 仓库 IN;(SELECT 仓库号 FROM 职工表)1 有穷性 解析: 算法是指解题方案的准确而完整的描述。它有4个基本特征,分别是可行性、确定性、有穷性和拥有足够的情报。解析: 对于长度为n的有序线性表,在最坏情况下,二分查找只需要比较log2n次,而顺序查找需要比较n次。3 对象 解析: 将属性、操作相似的对象归为类,也就是说,类是具有共同属性、共同方法的对象的集合。4 软件生命周期 解析: 软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。5 关系模型 解析: 数据库管理系统是位于用户与操作系统之间的一层系统管理软件,是一种系统软件,是用户与数据库之间的一个标准接口。其总是基于某种数据模型,可以分为层次模型、网状模型和关系模型。6 32 解析: Visual FoxPro从3.0版本开始,就是一个32位的管理系统,并支持面向对象编程。7 15 解析: SPACE()函数是用来生成指定数量的空格,结果为字符型数据。在字符表达式中,不论是“+”或“-”运算,都表示连接字符串的运算,其连接后的新字符串长度总是等于所连接的两个字符串长度之和。LEN()函数用来测试字符串的长度。
8、AGAIN解析: 在Visual FoxPro中,一个工作区上只能打开一个数据表,如果要在不同工作区上打开同一个数据表文件,必须使用AGAIN短语。9 1.EXE 学生档案管理 2.学生项目 解析: 连编应用程序的命令是BUILD APP或BUILD EXE,根据指定的项目生成一个应用程序。其中EXE文件可以在Windows环境下直接运行。10 1.命令交互 2.程序 解析: SQL语言是一种一体化语言,语言非常简洁,是高度非过程化的语言,它不仅可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。11 1.选课表B 2.B.学生号=“W2” 解析: SQL不仅可以对多个关系进行联接操作,也可
以将同一关系与其自身进行联接。在自联接操作中,别名是必不可少的,别名是在FROM短语中定义的,格式为<关系名> <别名>。12 1.SET 工资=工资+30 解析: 在SQL语句中,使用UPDATE更新语句可以修改表中的记录。语句基本格式为: UPDATE TableName SET Column_Name1=eExpression1[,Column_Name1=eExpression1...] WHERE Condition 2007年9月全国计算机等级考试二级笔试试卷
一﹑选择题(每小题2分,70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。
(1)软件是指
A.程序 B.程序和文档 C.算法加数据结构 D.程序、数据与相关文档的完整集合(2)软件调试的目的是
A.发现错误 B.改正错误 C.改善软件的性能 D.验证软件的正确性(3)在面向对象方法中,实现信息隐蔽是依靠
A.对象的继承 B.对象的多态 C.对象的封装 D.对象的分类(4)下列叙述中,不符合良好程序设计风格要求的是 A.程序的效率第一,清晰第二 B.程序的可读性好 C.程序中要有必要的注释 D.输入数据前要有提示信息(5)下列叙述中正确的是
A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构 C.程序执行的效率只取决于所处理的数据量 D.以上三种说法都不对
(6)下列叙述中正确的是
A.数据的逻辑结构与存储结构必定是一一对应的
B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构 C.程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 D.以上三种说法都不对
(7)冒泡排序在最坏情况下的比较次数是
A.n(n+1)/2 B.nlog2 n C.n(n-1)/2 D.n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为 A.219 B.221 C.229 D.231(9)下列叙述中正确的是
A.数据库系统是一个独立的系统,不需要操作系统的支持 B.数据库技术的根本目标是要解决数据的共享问题 C.数据库管理系统就是数据库系统 D.以上三种说法都不对
(10)下列叙述中正确的是
A.为了建立一个关系,首先要构造数据的逻辑关系
B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项 C.一个关系的属性名表称为关系模式 D.一个关系可以包括多个二维表
(11)在Visual Foxpro中,通常以窗口形式出现,用以创建和修改表、表单、数据库等应用程序组件的可视化工具称为
A.向导 B.设计器 C.生成器 D.项目管理器(12)命令?VARTYPE(TIME())结果是 A.C B.D C.T D.出错
(13)命令?LEN(SPACE(3)-SPACE(2))的结果是 A.1 B.2 C.3 D.5(14)在Visual Foxpro中,菜单程序文件的默认扩名是A.mnx B.mnt C.mpr D.prg(15)想要将日期型或日期时间型数据中的年份用4位数字显示,应当使用设置命令 A.SET CENTURY ON B.SET CENTURY OFF C.SET CENTURY TO 4 D.SET CENTURY OF 4(16)已知表中有字符型字段职称和姓别,要建立一个索引,要求首先按职称排序、职称相同时再按性别排序,正确的命令是
A.INDEX ON 职称+性别 TO ttt B.INDEX ON 性别+职称TO ttt C.INDEX ON职称,性别TO ttt D.INDEX ON 性别,职称TO ttt(17)在Visual Foxpro中,Unload事件的触发时机是 A.释放表单 B.打开表单 C.创建表单 D.运行表单(18)命令SELECT 0的功能是
A.选择编号最小的未使用工作区 B.选择0号工作区 C.关闭当前工作区的表 D.选择当前工作区
(19)下面有关数据库表和自由表的叙述中,错误的是 A.数据库表和自由表都可以用表设计器来建立 B.数据库表和自由表都支持表间联系和参照完整性 C.自由表可以添加到数据库中成为数据库表 D.数据库表可以从数据库中移出成为自由表(20)有关ZAP命令的描述,正确的是 A.ZAP命令只能删除当前表的当前记录
B.ZAP命令只能删除当前表的带有删除标记的记录 C.ZAP命令能删除当前表的全部记录 D.ZAP命令能删除表的结构和全部记录
(21)在视图设计器中有,而在查询设计器中没有的选项卡是 A.排序依据 B.更新条件 C.分组依据 D.杂项
(22)在使用查询设计器创建查询是,为了指定在查询结果中是否包含重复记录(对应于DISTINCT),应该使用的选项卡是
A.排序依据 B.联接 C.筛选 D.杂项
(23)在Visual Foxpro中,过程的返回语句是 A.GOBACK B.COMEBACK C.RETURN D.BACK(24)在数据库表上的字段有效性规则是
A.逻辑表达式 B.字符表达式 C.数字表达式 D.以上三种都有可能