首页 > 精品范文库 > 15号文库
VFP二级考试应试策略1
编辑:前尘往事 识别码:24-986352 15号文库 发布时间: 2024-05-04 01:04:37 来源:网络

第一篇: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分的及格线,202_秋天的合格线为50分(其中上机成绩不得低于18分),202_年春天的合格线为56分(其中上机成绩不得低于24分),最近几次没有公布,但对笔试的最低分一直没有要求。四.应试策略 1.关于上机(占40分)

从历年的考试情况看,VFP的上机部分比较容易拿分,考试知识点掌握得好、上机操作熟练的同学一般可以得30-35分,建议多做针对性训练,熟练掌握实验指导书和以往上机考试题中涉及到的各项操作,争取拿到30分以上。

VFP上机考试目前采用统一的数据平台——即采用教学方面的数据库,内容和形式与202_年春季上机盘中提供的相同,目的是避免考生在考试时面临新数据平台而产生紧张心理,影响正常水平的发挥。建议考前一定要熟悉此数据平台,多做相关练习。

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. 上机操作题中不考类的设计。

其它内容和形式基本保持不变,数据平台仍然沿用近两年所采用的教学数据。

第二篇:高考考试应试策略

高考考试应试策略

考试时间分配

不少考生在备考阶段以及在模拟考试中都受过时间分配的训练,这的确很有必要。时间分配的技巧来自于习得的经验,不能寄希望于拿到试卷之后自然就懂得如何分配时间。同时,时间分配有其通行的原则,却无具体不变的模式,不可随意生搬硬套。就其原则而言,重要的是以下几项:

1.因人而异

同样一道题目甲同学8分钟才能完成,乙同学可能只要5分钟。时间策略既然是因人而异的,就应该立足于在备考阶段对自己的用时特征清楚地予以概括,对不科学的用时习惯加以修正。2.分大优先

高考答卷,一般情况下,要按试题顺序,遵循先易后难原则进行,这样比较稳妥,可以避免丢题、漏题。但是,有的考生或许不能做到依次进行,需要跳跃式前进,这样就有几个较难的题目就被留到了后面,对待这些题目,要坚持分大优先的原则。即:在最后的时间里,那些被搁置下来的难题则应该优先对付分值高的,先做能多拿到分数的。3.留有弹性

把所有的时间一次性分光是不科学的,也没有必要去精确地计算每一题应占用的时间。精确地计算每一分钟不仅浪费时间,而且会造成被动。这就要求平时练习时就要注意,把该类题型需要用的时间核算清楚,做到心中大体有数。例如在平时的文综考试中,有的同学25个选择题用了40—50分钟,导致非选择题部分没有时间好好做,同时,选择题部分的正确率也不会很高。而有的同学选择题用了20—30分钟,这样分配就比较合理,保证了Ⅱ卷题目的完成,也留出了检查、核对的时间。所以同学们在平时就要发现试题时间上的分配规律和弹性要求,在高考当中加以运用。

考试规范

为把所学的知识水平最大限度地的发挥出来,取得满意的高分,考生应在实际考试时掌握应试方面的一些规范性的问题。一:入场规范

每个考场安排30名考生,两名监考教师,另外还有电子监控设备及无线电波干扰系统,考风考纪要求非常严格,所以,考生在整个高考过程中不要有什么侥幸心理和伺机作弊心理,一旦对作弊产生丁点儿依赖,那么你几乎不能发挥正常水平,因为在这种心理的驱使下,你 便不能专心思考,耐心答题,所以,入考场前的第一步,就是要配合监考教师,遵守考试纪律,与考试有关的物品一件也不缺,与考试无关的物品一件也不带。

考试有关的物品有四大类:考生基本信息证明材料,如准考生、身份证;涂写画工具:2B铅笔,黑色中性签字笔,直尺,三角板,圆规;修改工具:橡皮;其他:纸巾、雨伞等。

与考试无关的物品:通讯工具、修正液、透明胶带、计算器、电子词典等;提醒同学们,在平时的考试、练习中,一定放弃计算器的使用,因为在高考考场上,这些电子设备是无法也不准带入考场的,而且,还使自己的计算能力降低,影响考试成绩。

另外,高考每场都要给规定提前入场时间,同学们一定要有按规定时间提前入场,看一看教室四周,熟悉一下陌生的环境。坐在座位上,尽快进入角色;不再考虑成败、得失;调整一下迎战姿态:文具摆好,证件放在桌角,以便监考员检验。把这些动作权当考前稳定情绪的“心灵体操”。二:考试规范

1.接到答题卡后首先检查答题卡是不是本人的,有没有缺页、破损、脏污,发现问题时报告监考员,由监考员协调处理。然后填好考生基本信息。

2.浏览全卷。考生拿到试卷后,先看该试卷是不是本科考试的试卷,再清点试卷页码是否齐全,检查试卷有无破损或漏印、重印、字迹模糊不清等情况。如果发现问题,要及时报告监考人员处理,要根据监考人员指令,在规定的地方填涂本人姓名和考号,在开考铃响之前如有时间,可浏览试卷,大致估计哪些题熟悉易做,哪些题生疏难做。答题一定要在开考铃响了之后开始。如提前答题将以违纪论处。花几分钟时间对试题数量、类型、各题分数等作一浏览,估计各题难度和作答时间,可以做到全面规划,心中有数,避免时间分配不当,顾此失彼。

3.规范草稿纸的使用,有的同学认为,草稿纸阅卷老师也不计分,怎么使用无所谓。这就错了,根据高考规则,每场考试都由监考员统一发给每位考生一张草稿纸,除此之外是不允许考生携带任何草稿纸的。小小一张草稿纸,在平时无足轻重,但此时不可忽视。第一,要充分利用它。对于理科科目,几乎所有的演算都在草稿纸上展开,特别是对基础欠缺或有粗心大意这一不良学习习惯的考生,此时草稿纸就显得更为重要。即使是文科科目,一些题目的解答,也有必要先在草稿纸上列出基本要点,这有助于写作和答题的完整和连贯。第二,要注意节省着用。通常情况下,一场考试只发给每位考生一张草稿纸,因此考生要合理地利用,并注意节省着用。最好将草稿纸一分为三或一分为四,按规则、有秩序的使用,在平时就养成习惯,打草稿也要像解题一样,一道一道挨着往下写。每一题的草稿都写在一块儿,而且要步骤清晰,整份试卷,答案有确定为无误的,有稍微不放心的,有非常不放心的,还有根本未答出来的,这就需要在草稿纸的题号前注上自己可识别的符号,以确定检查的侧重点,展现解题时的思维过程。总之,要做到有序而不乱,这是一个良好的习惯,也是考试的一种有效方法,切忌在上面“素描”、“开药方”,演算了一个题目就用完了。第三,根据规定,考试结束后草稿纸必须留下。因此考生不要轻易丢弃草稿纸,更不可把草稿纸带出考场。

4.简明扼要。高考试题的标准答案总是以要点和纲目的形式出现,评卷老师也是在考生的答案中寻找要点,即采点给分。因此答案要有简明扼要、准确、要点化、段落化,切忌流水帐式地空发议论离题万里,或者从头到尾“一气呵成”,没有要点序号标志,阅卷教师找要点比较困难,在文科综合考试答卷中尤其要注意这一点。

5.卷面整洁。考生答题,应时刻注意字迹清晰工整,标点准确,答案布局协调和谐,保持整张试卷的整洁美观,文科试卷答案内容最长一行的首字符和末字符要与题干、材料的最长一行首字符和末字符相一致,形成文字方阵,这样使评卷人产生“愉悦感”,从宽给分,不知不觉送上了“心理印象分”,从而获得较高卷面分。相反,字迹潦草甚至难以辨认,标点和作答格式混乱,卷面糊涂,使阅读人产生厌烦情绪,不知不觉从严给分。

6.修改不得使用涂改胶带纸。考生如需对答案进行修改,可用修改符号将该书写内容划去然后紧挨着在其上方或下方写出新的答案,修改部分书写时与正文一样不能超过该题答题区域,否则修改的答案要么无效、要么成绩大打折扣。禁止使用涂改液、胶带纸改错或用透明胶带纸贴揭欲修改的内容,这样容易损坏答题卡,导致电脑阅卷判读失误,影响成绩。

考试技术与技巧

高考试卷发下后,要讲究考试技术与技巧,可以尽可能多的得到分数,大体上要注意以下几点:

1.试卷发到手后首先填好考生基本信息,测览全卷,这前面在考试规范中讲过,这也是一项技术性的工作,同学们不可小视。

2.答题卡的使用要细心严密:在标准化考试中,因涂写答题卡出问题而失分的现象很多。在填涂答题卡时有9个问题,需引起考生注意:

(1)涂写太轻、太细:原因是铅笔削得过细,涂写用力太小,最好在考试时使用高考统配文具。

(2)涂写不均匀、黑度差别太大:阅卷机是根据涂写色差值来识别所涂符号的。涂写深浅不一,机器往往形成误判。

(3)连涂:有两个或两个以上紧挨着的答案在一条线上,一笔涂写完,往往会造成机 器采集信息失误而失分。

(4)斜涂:即在框内任意斜划一笔或画出框外也往往会造成机器采集信息失误而失分。(5)漏涂:只将答案写在试卷上而忘了涂卡,或者漏涂某一题的答案导致后面题目的答案向前平移或向后顺延,结果造成无法挽回的损失。避免这一点,建议考生最好边做边涂,并认真检查。

(6)偏涂:涂得太偏、太偏上或太偏下,无法进入电眼“视区”,造成丢分。(7)擦抹不净:修改时,原来的笔迹擦不干净,造成机器判断失真。

(8)答题卡背面不干净:如果答题卡背面不干净,或桌面上不干净把答题卡背面弄脏,也会造成机器采集“信息”失误。最好在答题卡下面垫上一张干净的硬纸板。一旦损坏,要求监考人员更换。

(9)把答题卡弄穿、弄脏:因为用力太大,从答题卡背面看好像贴上了“马赛克”,甚至把答题卡弄穿,也会造成不应有的失分。

2.答题速度适中。答题中,必须树立“又好又快”的观念并落实到考试中去。近几年的高考试卷中总题量保持稳定,而思维量明显增加,特别202_年山东卷高考借鉴全国卷模式的话应该在文字阅读量上比以往有所加大,面对这样的高考,我们必须实现由“速度”和“质量”的完美统一。尤其不能一味追求速度快,速度快往往又会忙中出错,“欲速则不达”,也有的同学存在这样一种心理:早点做完早点检查。其实,靠检查来提高成绩是微乎其微的,高考时间本来就不那么宽裕,不会有太多的时间检查,而且这种对检查的依赖心理,会使考生不自觉地放松了答卷过程中重视正确率、重视质量的要求。

3.“量体裁衣,看分花时”。在一张试卷中,各题的占分比例不等。考生回答时应根据分数多少确定答题时间和答案内容多少。多分题应多花点时间,答案详细些,反之,则少些。遇到难题,不能钻进去不放,要暂时搁在一边,待其他题目回答完后,再回过头来处理。

4.先易后难。每一考生知识的掌握情况不同,各题对每一考生而言的难易度不一,因此,试卷对个人来说并非都符合由易而难的编排原则,这就要求考生自己答题时调整策略,由易到难的顺序,解答容易的题目会使考生获得成功的体验,增强作答信心,从而保持良好的心理状态完成其他题目。

5.“分分必争”。每年高考都有一些考生往往以一分之差落榜而后悔莫及,因此在考场,每一分都必须全力争取,决不让它溜掉。①束手无策的问题,可联系与这题有关的知识列出并尝试作一些推理、论证,也许可以得分。②对一些综合性论述题,不要在题后留下空白,空白必定是0分,聪明的人写下点什么可能得上一分二分。③对无把握的客观试题,不妨尝试猜测,不猜留下空白必然没分,而猜测有可能碰上正确答案。6.答卷过程看清题目要求。比如做选择题,就要看清是选正确的还是选不正确的,作文的体裁要求是什么;用经济生活还是用政治生活,用唯物论还是用辩证法等等,近年来高考哲学题的考察已经注重对某一个原理的深层次考察运用;还要看清题目本身,如数理化等学科要看清符号,英语要看清单词,语文要看清字词。要确实弄清楚每道题的题意,搞清楚题目给予的条件和要求。因为考试要求可能与自己的答题习惯有所不同。要特别注意题目的隐含条件。考生应从题目的文字叙述,或从给出的示意图中去挖掘隐含条件,才能准确地解决问题。

7.检查修正。在所有题目做完后,必须抓紧时间检查修正。首先检查试卷、答题卡考生基本信息是否涂写完整、正确,有无漏题、笔误现象或因粗心导致的错误。其次仔细推敲解题的各个环节;审题是否准确、完整,特别关注题目关键词及隐蔽条件;解题所用的有关概念、原理、公式及其方法是否准确,论证推理是否严密、合乎逻辑;运算有无差错,论述有无遗漏要点。在检查时,如有时间要全面复查一遍,时间不够则重点检查。选择题的检查主要是查看有无遗漏,并复核你心存疑虑的题目,特别注意,考生的第一印象很重要,一旦做出了选择,最好不要再改动。一般来讲,对试题的第一接触,大脑皮层比较兴奋,考生产生的第一感觉往往是准确的。若没有充分的理由,一般不要改变你依据第一感觉作出的选择。多年考生回馈的事实证明,无缘无故改动的,与标准答案对过之后,大部分是错误的。对简答题、论述题和作文的检查,一是要改正错字和病句。另外补充遗漏的内容,删去错误的观点。

8.高考是要分秒必争,分分计较的考试,未发出考试终止信号,即使答题和检查完毕,也不要急于交卷;应再次复查答卷,推敲答案,做必要的修正。

9.考完一门丢一门。考生应该考完一门放下一门。考后不宜交谈作答内容,因为核对于事无补。这时该做的,不是自己折腾自己,自己吓唬自己,而是调整心情,“我难人难不要畏难、我易人易不可大意”,想想怎么对付下一门考试。

以上这些高考应试策略,绝对不是仅仅在高考考试之前看看就管用的,必须现在就读完,并且运用到自己的学习活动中去的,这样才能养成良好的考试习惯,提高应试能力。不要在考试之前再去查阅考试技巧方面的资料,而是在平时就要讲究这些规范、运用这些方法,这样才能形成稳定的持久的考试习惯,不至于真正高考时丢三落

四、生硬、慌乱应考。在平时的考试和学习中应有意识地加以训练,认真对待考试和练习,用高考的标准要求自己,在有 5 限的时间内高质量的完成答卷、练习,取得真实的好成绩。

第三篇:二级VFP用户手册

无忧考试吧(http://www.teniu.cc)全国计算机等级考试超级模拟软件 二级Visual FoxPro用户手册 1.1 引言

南京易考无忧科技有限公司研制的全国计算机等级考试超级模拟软件提供了开放式的考试环境,具有自动计时、自动阅卷评分、完全模拟真实考场等功能,能让考生尽快熟悉等级考试的考试环境,掌握全国计算机等级考试的出题规律,顺利地通过考试。

全国计算机等级考试超级模拟软件(二级Visual FoxPro)题型为选择题、基本操作题、简单应用题和综合应用题。

等级考试中上机考试部分在中文版Windows XP系统环境下运行,用来测试考生在Windows的环境下对Visual FoxPro编程软件的使用能力。

1.2 安装过程

1)启动计算机,进入Windows操作系统。2)将模拟软件光盘放入光驱中。

3)系统将自动启动安装程序,单击“二级Visual FoxPro”,然后按提示进行安装即可。

4)安装成功后,系统将自动在桌面上创建“二级VFP练习”和“二级VFP上机考试”的快捷方式图标,并在“程序”菜单项中增加“全国计算机等级考试超级模拟软件(二级VFP激活版)”。

1.3 考试环境

1.3.1 硬件环境

CPU:1G或以上 内存:512M或以上

硬盘剩余空间:500M或以上

·1· 无忧考试吧(http://www.teniu.cc)1.3.2 软件环境

中文版Windows XP 中文版Visual FoxPro 6.0 1.4 软件激活

此软件为激活版,试用时只能看到三套试题,请按以下步骤进行激活。(注意:本软件是与电脑绑定的,只能在一台电脑上激活一个科目。在本活动期间内可在另外一台电脑上在线再次激活该科目一次。请在激活前先试用,确保软件在此电脑上运行正常。)

1.4.1 如果您的电脑可以上网

1)双击桌面上的“二级VFP练习”快捷方式,出现下图所示的界面:

2)单击“激活”按钮,出现下图所示的界面:

·2· 无忧考试吧(http://www.teniu.cc)3)请输入注册卡号、密码和验证码,单击“激活”按钮,此时弹出激活信息,软件激活成功。

4)如果您是从网上下载的安装包,没有注册卡,请单击“输入激活码”,出现下图所示的界面:

5)在软件激活界面中,单击“复制产品ID”按钮(可以将复制的产品ID粘贴保存在记事本中)。

6)单击“网上购买”按钮,在弹出的流程说明图中,单击“下一步”按钮查看流程说明,完成下订单、付款过程:

·3· 无忧考试吧(http://www.teniu.cc)

7)在软件激活界面中,输入您获得的激活码和验证码,单击“激活”按钮。

1.4.2 如果您的电脑不能上网

1)在软件激活界面中,单击“复制产品ID”按钮(可以将复制的产品ID粘贴保存在记事本中)。

2)准备好注册卡、产品ID,可以用手机上网,也可以到能上网的电脑上,输入网址:http://ncre.wyks8.com/,进入软件激活页面。

3)在软件激活页面中输入注册卡卡号、密码、产品ID和验证码,单击“激活”,出现下图所示界面:

·4· 无忧考试吧(http://www.teniu.cc)

4)请一定将获得的激活码记录下来或复制到U盘中。(注意:请牢记激活码,并及时到您的电脑上激活软件。)单击“参加活动”可参加“通不过退款”活动。

5)在软件激活界面中输入获得的激活码和验证码,单击“激活”按钮。

1.5 软件操作说明

1.5.1 上机练习

1)双击桌面上的“二级VFP练习”快捷方式。2)单击“上机练习”项,将弹出下图所示的画面:

·5· 无忧考试吧(http://www.teniu.cc)考生可根据自己的需要选择练习选项。

随机出题:系统会在固定的套数范围内,随机抽取某一套试卷供您练习。

固定抽题:系统会将系统里所有的题目分成若干套数显示给用户,由用户自己决定要练习的试卷套号,方便考生系统练习。

重复抽题:抽取最近一次测试的试卷,方便考生反复练习,加强记忆。

恢复现场:恢复最近一次测试的试卷和答题情况,可以帮助考生完成上次没有完成的练习。

视频学习:可以查看无忧考试吧(www.teniu.cc)上免费的视频课程,视频全部采用考试真题讲解,剖析解答试题的知识点,由浅入深掌握考试中的各类题型。(查看视频功能介绍)

3)考生可根据自己的需要选择练习选项。下面以单击“固定抽题”为例,出现下图所示的画面:

4)输入所需固定抽题的套数,单击“确定”按钮,将出现如下画面:

1.选择题

·6· 无忧考试吧(http://www.teniu.cc)从“答题”菜单中选择“选择题”菜单项,出现下图所示的选择题界面:

直接用鼠标左键单击选择答案选项,同时题号处有不同的颜色显示,尚未做的试题显示为红色,已经做过的试题显示为浅蓝。单击“答案”按钮,当前题的正确选项会来回变换颜色。单击“评析”按钮,可以查看当前题目的评析。单击“保存并退出”按钮,返回到操作主界面,选择其他类型的试题。

2.基本操作题、简单应用题和综合应用题

从“答题”菜单中选择“启动Visual FoxPro”,系统将自动运行注册过的Visual FoxPro 6.0版本,即可进行做题。请按照试题内容的要求进行操作,将文件存放在考生文件夹下。

技巧:如果要将题面窗口和应用软件窗口进行上下或左右排列,请用鼠标右键单击任务栏的空白处,然后在弹出的菜单中选择“横向排列窗口”或“纵向排列窗口”。

在操作过程中要对试题进行评分,可用“评分”菜单中的“评当前题”或“评所有题”,评完后可以返回继续做题。

在操作过程中要查看操作步骤,可用“操作演示”菜单中的“[基本操作题]演示”,“[简单应用题]演示”或“[综合应用题]演示”。

在操作过程中要添加笔记,可用“笔记”菜单中的“添加笔记”,添加后可用菜单中的“修改笔记”,“查看笔记”对笔记进行修改和查看。也可用此菜单中的“标记此题”进行标记,以便通过“练习日志”中的“标记练习”再次做题。

注意:做完题后,请将Visual FoxPro程序关闭。

·7· 无忧考试吧(http://www.teniu.cc)当考生做完所有的试题后,单击屏幕上状态栏中的“交卷”按钮,系统自动进行评分,评分完成后出现下图所示的画面:

该画面列出考生的得分和错误信息,单击“评析”按钮,可以查看题面以及详尽的评析。

查看完毕后,请单击“退出”按钮。

1.5.2 上机考试

1)双击桌面上的“二级VFP上机考试”快捷方式。

·8· 无忧考试吧(http://www.teniu.cc)

2)单击“开始登录”,进入登录界面,在“准考证号”栏中输入准考证号码。

注:二级Visual FoxPro考试的准考证号为270199990001-270199990005。输入准考证号时,将鼠标停留在输入栏的位置,系统会提示准考证范围。

3)单击“考号验证”按钮,系统出现下图所示的提示:

·9· 无忧考试吧(http://www.teniu.cc)4)单击“是”按钮,进入下图所示的登录画面:

5)单击“开始考试”按钮,系统开始抽题,然后出现下图所示的画面:

6)勾选“已阅读”后,单击“开始考试并计时”,即可按照题面的提示进行操作。考试过程和方法与前面“上机练习”一样。

7)上机考试的得分界面中只有退出和上传成绩的按钮,当试题总分达到60分及以上时,可以单击“上传成绩”按钮将成绩上传,以便参加“通不过退款”的活动。使用“上传成绩”功能时,电脑必须联网。

·10· 无忧考试吧(http://www.teniu.cc)

8)如果对得分不满意,希望重做且上一次考试的时间没有用完,则可以退出后重新进入登录界面,输入刚才的准考证号,验证并确认后出现如下对话框:

9)单击“确定”按钮,出现下图所示界面:

输入“ABC”,并单击“密码验证”按钮后即可重做刚才那套试卷(如果上一次考试时间已经用完,则进入考试界面后会立即强制交卷)。如输入“WY”则系统会重新抽取一套新的上机题。

·11· 无忧考试吧(http://www.teniu.cc)1.5.3辅助功能

双击桌面上的“二级VFP练习”快捷方式,单击左侧“辅助功能”项,将弹出下图所示的画面:

1.练习日志

单击“练习日志”,可查看历次练习的情况统计。

通过查看练习日志,可以查看先前练习的时间、类型以及得分情况,提供了列表显示和图形显示两种方式,图形显示又分条形图和线形图,让你更直观地了解自己的不足。

·12· 无忧考试吧(http://www.teniu.cc)最重要的是提供了各项辅助功能:(1)通过“试卷重做”功能对试题进行重做;(2)通过“查看试卷”功能查看做过的试卷情况;(3)通过“打印试卷”功能将练习过的试卷打印出来;(4)通过“错题重做”功能将练习中出现的错题进行重做,即只做曾经做错的题,加强了复习的目标性;(5)通过“标记练习”功能对练习时做标记的题再次练习,以方便考生直接定位于自己的需求。

单击右上角的关闭按钮,可回到辅助功能主界面。

2.查看笔记

单击“查看笔记”,可查看在考试中添加的笔记。

笔记可以用来记录下当前题目的心得体会,或者标记题目的重要性。同时笔记会将创建时间、查看次数和题目的题面自动保存下来,以便以后查看。这些笔记都将是你积累下来的财富。在考前冲刺复习中将会起到很大的作用。

查看笔记时,可以通过菜单栏上的“修改”、“删除”按钮,对已经存在的笔记进行相应操作,其中,修改笔记后,可以通过“保存”按钮保存对笔记的修改。

在对笔记进行查看的过程中,也可以通过单击界面上的“显示评析”按钮查看对应题的评析。

3.考前攻略

单击“考前攻略”,可查看学习、复习等方法和策略,也可以了解等考相关信息及考试注意事项等。

·13· 无忧考试吧(http://www.teniu.cc)

4.历年知识点

单击“历年知识点”,可查看历年知识点图和知识点表。

5.数据备份

单击“数据备份”,出现下面的画面:

单击“选择”按钮,选择数据备份文件存放的路径,再单击“备份”按钮,出现“备份成功”的对话框后,单击“确定”按钮,备份完成。单击“返回”将返回到模拟

·14· 无忧考试吧(http://www.teniu.cc)软件主界面;单击“退出”将退出系统。

6.数据还原

该功能适用于曾使用过模拟软件,有练习日志、笔记等的用户。如果用户换了机器或重做了系统,安装模拟软件后再还原前面所备份的数据,恢复到上次备份时的状态。

单击“恢复数据”,出现下面的画面:

单击“选择”按钮,选择备份文件存放的路径,再单击“还原”按钮,出现“还原成功”的对话框后,单击“确定”按钮,还原完成。单击“返回”将返回到模拟软件主界面;重新登录模拟软件,这时考试系统就已经还原到了备份时状态。单击“退出”将退出系统。

7.注册卡号

单击“注册卡号”按钮,出现已经注册的注册号和密码。

8.换机使用

单击“换机使用”按钮,在本活动期间内可在另外一台电脑上在线再次激活该科目一次。

1.6 视频学习

视频学习:无忧考试吧(www.teniu.cc)上的视频由资深老师主讲,深入剖析近期考试真题,倾情呈现必要考点。及时把握考试动态,贴合最新考试要求;考前每周末网上定时在线解答。网络、手机、MP3、商场、宿舍、餐厅,想怎么学就怎么学,一切由你。全天候网络在线课堂,24小时随心可学,重点突出,讲解精细。

使用步骤:

1)单击“视频学习”按钮,将弹出下图所示的界面:

·15· 无忧考试吧(http://www.teniu.cc)

2)单击“网上免费视频”,可以查看相应科目网上免费的视频课程。

1.7 常见问题解决方法

(下面以软件安装在C盘进行说明。)1)问题:评分出现不能正常评分。原因:数据库引擎不完整。

解决方法:运行“C:WYKS2VFPdriver”文件夹下的ado28.EXE。2)问题:考试系统无法做题、评分、生成答案。

原因:数据库引擎不完整。

解决方法:运行“C:WYKS2VFPSUPPORTS”文件夹下的DAO360.EXE。3)问题:在Windows 7操作系统下,帮助文件无法正常显示。原因:Windows 7操作系统不支持“.HLP”帮助文件格式。

解决方法:32位的WINDOWS 7操作系统,运行“C:WYKS2VFPSUPPORTS”文件夹

·16· 无忧考试吧(http://www.teniu.cc)下的“Windows6.1-KB917607-x86.msu”即可解决。

64位的Windows 7操作系统,运行“C:WYKS2VFPSUPPORTS”文件夹下的“Windows6.1-KB917607-x64.msu”即可解决。

4)问题:在Windows 7操作系统下,出现没有权限时的解决方法。

原因:Windows 7操作系统下默认使用用户帐户控制,限制了用户的权限。解决方法:请单击“开始”,然后单击“控制面板”。单击“用户帐户和家庭安全”,然后单击“用户帐户”,接着单击“更改用户帐户控制设置”,拖动界面中的滑块到“从不通知”,最后单击“确定”。

5)问题:评分后提示“[Microsoft][ODBC 驱动程序管理器]未发现数据源名称并且未指定默认驱动程序。”

原因:1)机器上未安装VFP6.0。2)使用的是绿色版的VFP6.0。

解决方法:请运行一下“C:WYKS2VFPdriver”文件夹下的VFPODBC.msi。6)问题:运行模拟软件时,提示“无法打开题库,请您卸载后重新安装!”。原因:dao360.dll控件未注册。

解决方法:运行“C:WYKS2VFPwyocxdll”文件夹下的“reg.bat”即可解决。

·17·

第四篇:202_年计算机等级考试二级VFP考点

VFP 第1章

关于数据库的基础知识 数据库(DB):是存储在计算机存储设备上的结构化的相关数据集合。即是存放数据的仓库。数据库管理系统(DBMS):实现各种数据管理功能的核心软件。或者说为数据库的建立、使用和维护而配置的软件称为数据库管理系统。数据库应用系统(DBAS):是由系统开发人员开发的。数据库管理员(DBA):DBA的职责不包括开发数据库应用系统。数据库系统的组成:硬件系统、数据库、数据库管理系统、数据库管理员和用户。其中DBMS是核心。实体间的联系有三种:一对一、一对多、多对多。数据模型分为三种:层次模型、网状模型、关系模型。

★其中关系模型就是用二维表的结构来描述。一张二维表就是一个关系。

★关系术语

⊙关系:就是一张二维表。⊙元组(记录):水平方向的行。⊙属性(字段):垂直方向的列。

⊙域:属性的取值范围。⊙关键字:关系中最关键的那一个字段,即能够唯一标识一个元组。

⊙外部关键字:在两个有联系表中,若两个表有相同的字段名,其中一个表中的是关键字,那它在另外一张表中不是关键字,那就是外部关键字。两个表之间的字段起着“桥梁”的作用。专门的关系运算:选择、投影、连接。

关于VFP系统 启动:单击“开始”→“程序” →“Microsoft Visual FoxPro 6.0” →“Microsoft Visual FoxPro 6.0”。退出:(1)单击右上角的“ ”。

(2)单击“文件”→“退出”。

(3)ALT+F4。

(4)在命令窗口中键入QUIT。两种工作方式:交互式 和 自动化工作方式(程序运行方式)。显示与隐藏命令 窗口的三种操作方法。P24 设置VFP的默认目录位置:单击“工具”→“选项” →“文件位置” →“默认目录” →“修改”。

★在学习VFP时,请同学们一定要养成设置文件的默认存储位置的好习惯。

关于项目管理器 新建:(1)鼠标操作:“文件”→“新建” →勾选“项目” →“新建文件”。

(2)命令操作:create project [项目名] 打开:(1)鼠标操作:“文件”→“打开”。

(2)命令操作:modify project [项目名]

★项目管理器的选项卡(6个)

(1)数据:数据库、自由表、查询、视图。

(2)文档:表单、报表、标签。

(3)类

(4)代码:程序、AIP库、app应用程序。

(5)其他:菜单文件、文本文件、其他文件位图文件。

(6)全部:包括前面5个选项卡的所有内容。在项目管理器中新建数据库:

(1)打开项目

(2)在项目管理器中的“数据”选项卡中选中“数据库” →“新建”。将一个数据库添加到项目中

(1)打开项目

(2)在项目管理器“数据”选项卡中选中“数据库” →“添加”。将一个数据库从项目中移去

(1)打开项目

(2)在项目管理器“数据”选项卡中将“数据库”展开,选中某个“数据库名” →“移去”。

VFP 第2章

关于数据(常量)

★ 数据(常量)的类型有:⊙数值型(N):占8个字节。

⊙货币型(Y):占8个字节。

⊙字符型(C)

⊙日期型(D):占8个字节。

⊙日期时间型(T):占8个字节。

⊙逻辑型(L):占1个字节。

★ 变量:是专门用来存放数据用的。分为字段变量(字段名)和内存变量。

★ 表达式:

(1)数值表达式

(2)字符表达式

(3)日期时间表达式

(4)关系表达式

⊙性别等于“男”: 性别=“男”

⊙姓名为“刘明明”: 姓名=“刘明明”

⊙工龄大于等于20: 工龄>=20

(5)逻辑表达式

⊙性别等于“男”或等于“女”

⊙基本工资高于400元且低于1000元

⊙工龄大于等于20的未婚男职工

⊙职称是“教授”或者是“副教授”

⊙工龄大于20年,职称为“副教授”或“讲师”的未婚男职工

⊙职称为“副教授”且年龄不超过35岁的未婚女职工

本章的相关命令

⊙ ?:打印输出符,输出时换行。

⊙ ?? :打印输出符,输出时不换行。

⊙ SET CENTURY ON:设置4位数字年份

⊙ SET CENTURY OFF:设置2位数字年份

⊙ STORE <表达式> TO <内存变量>:内存变量的赋值。

⊙ CLEAR:清除窗口屏幕中显示的内容。

⊙ DIMENSION、DECLARE:创建数组。

⊙ LIST MEMORY、DISPLAY:内存变量的显示。

⊙ CLEAR MEMORY:内存变量的清除。

VFP 第3章

关于数据库的操作 新建:(1)鼠标操作:“文件”→“新建” →勾选“数据库” →“新建文件”。

(2)命令操作:Create database [数据库名]

★当“数据库名”省略时,会弹出创建对话框。

(3)安全检查:set safety on/off(新建数据库与原数据库重名时,是否询问)

★用鼠标操作会自动打开数据库设计器 ★而命令操作仅仅是创建数据库,不直接出现该设计器。打开:(1)鼠标操作:“文件”→“打开” →在文件类型中选“数据库”。

(2)命令操作:open database [数据名]………………..★当“数据库名”省略时,会弹出打开对话框。

省略号处是一些可选项,可选项如下:

⊙EXCLUSIVE | SHARED:以独占方式打开 | 以共享方式打开。

⊙NOUPDATE:以只读方式打开。

默认值(即不写noupdate)是以读/写方式,也为共享方式。

★以上可选项若在鼠标操作方式时都可以在„打开‟对话框中设置

★为何要有„独占‟数据库?只有在独占的方式下才能清理数据库

★用鼠标方式打开会同时打开数据库设计器 ★而命令操作仅仅是打开数据库,也不直接出现该设计器。修改:(1)鼠标操作:等同于„打开‟操作

(2)命令操作:modify database [数据库名] ………

★当“数据库名”省略时,则对当前数据库进行修改。

省略号处是一些可选项,可选项如下:

⊙NOWAIT:在程序中使用,打开数据库设计器后不暂停,主要为了程序连贯,实现无人职守。

⊙NOEDIT:只打开数据库设计器,禁止对其进行修改

★其实一条modify database就可以完成:

Create database + open database +moddify database 三条命令的功能 关闭:(1)鼠标操作:单击数据库设计器右上角的“ ”。仅仅只是隐藏该数据库,不是真正的关闭

(2)命令操作:close database

注意:这里后面不能加数据库名,他的作用就只是关闭当前数据库

★当已经打开多个数据库时,若想关闭其他的数据库,可以设置它为当前数据库即可,方法有:

(1)鼠标操作:在工具栏的数据库下拉框中直接选

(2)命令操作:set database to [数据库名]

★如不加名字,就会把所有都设置为非当前数据库

★close all 关闭所有文件 删除:(1)鼠标操作:打开项目管理器→“数据”选项卡→单击“数据库”前面的„+‟号→在其中选中目标数据库→单击“移去”。

(2)命令操作:DELETE DATABASE 数据库名……

省略号处是一些可选项,可选项如下:

⊙deletetables:删除数据库的同时把其中所含表也删除。

⊙recycle:将被删除的文件暂时放于回收站,以后要是后悔,还可以还原。

★鼠标操作无法在删除数据库的同时删除表。

★如果安全检查设置为set safety on会提示“真的删除吗”。

关于表

表分为数据库表和自由表 不论哪种表都是由结构部分和内容部分组合而成的。

一 关于数据库表:

在某个数据库处于打开状态并且是当前数据库时,创建的表就是此数据库的一个数据库表。

结构部分

创建数据库表

①鼠标操作:打开数据库设计器,在这里面任意位置右击,选择“新建表”。

②命令操作: open database [数据库名]

Create [表名]

★以上不论哪一种操作,都会自动弹出“表设计器”。

表设计器的作用是对表的结构进行创建或修改。

表设计器的打开与修改:①鼠标操作:打开数据库设计器,在里面找到进行结构修改的表,在那张表上右击选择“修改”。

②命令操作:use [表名]

Modify structure 表设计器的内容:见书P101

内容部分

表的结构设计完成确定后,会自动询问是否打开“浏览器”进行输入数据。

表浏览器的作用是对表的内容进行创建或修改。

表浏览器的打开:①鼠标操作:打开数据库设计器,在里面找到进行结构修改的表,在那张表上右击选择“浏览”。

②命令操作:Use [表名]

Browse

一些常用的内容修改:

Ⅰ 增加记录:(1)在表的尾部增加记录:

①鼠标操作:显示/追加方式

②命令操作:A)append 需要立刻输入记录值

B)append blank 在表尾加一空行 再用edit,change,browse或replace更改

(2)在表的任意位置插入记录:insert ……

省略号处是一些可选项,可选项如下:

① before 如果要在当前选中的记录之前插入一条新记录,就在insert后加上before,不加就会在当前记录之后插入新记录。

② blank 在指定的记录之前或之后插入一条空白记录。

★如果表是建立了主索引或候选索引,则不能用以上的 APPEND或INSERT命令插入记录,而必须用SQL的命令语句(见第四章)。

Ⅱ 删除记录:(1)逻辑删除(置删除标记)

①鼠标操作:在要删除的记录行首直接打上黑块标记

②命令操作:delete [for 条件]

★如果不跟条件,则只逻辑删除当前记录;否则逻辑删除满足条件的记录。

★逻辑删除记录,不是真正的从表中删除了,以后要是后悔,还可以恢复。

Delete all 逻辑删除所有记录

(2)恢复记录(只能恢复逻辑删除的记录)

①鼠标操作:把要恢复的记录行首的黑块去掉

②命令操作:recall [for 条件]

★如果不跟条件,则只恢复当前记录(如果当前记录没有删除标记,则该命令什么事也不做);否则恢复满足条件的记录。

recall all 恢复所有记录

(3)物理删除:pack只删除前面有黑块的记录行。

(4)物理删除表中全部记录行:①ZAP(会弹出一个询问对话框)。

ZAP就相当于delete all+pack

Ⅲ 修改记录:(1)鼠标操作:打开表浏览器直接修改。

(2)命令方式:

①用edit或 change修改当前一条记录和 skip 配合使用。

②有条件修改(满足条件的记录行才进行修改,其他行不变):

Replace [ all ] 字段名 with 表达式 [for 表达式]

★如果跟上[for 表达式],则是对满足条件的记录行才进行修改。

★在不跟[for 表达式]情况下,如果跟上[ all ],则是对所有记录进行修改。

★如果[ all ] 和[for 表达式]都不指定,则是对表中的当前记录进行修改。

Ⅳ 显示记录:list/display [字段名列表] [for 表达式]

★ 不使用条件时,LIST默认显示全部记录,而DISPLAY则默认显示当前记录。

★ 指定条件时,LIST和DISPLAY功能相同。

Ⅴ 查询定位:(1)鼠标操作:打开表浏览器,用鼠标直接选中目标记录行。

(2)命令操作:① goto/go [记录号/top/bottom]

②skip [数字]

③ locate for 表达式………… continue

二 关于自由表

结构部分

(1)创建自由表:在没有任何数据库打开的状态下,新建的表就是自由表。

①鼠标操作:“文件”→“新建” → 选择“表” →单击“新建文件”

②命令操作:create [表名]

(2)修改:(自由表的表设计器的使用)

①鼠标操作:“文件”→“打开” → “显示” →“表设计器”。

②命令操作:use [表名]

Modify structure

内容部分(自由表的浏览器的使用)

①鼠标操作:“文件”→“打开”→“显示”→“浏览xx表”。

②命令操作:use [表名]

Browse 三 自由表和数据库表之间的转换 自由表→数据库表:打开数据库设计器→在里面空白处右击→选择“添加表”。数据库表→自由表:打开数据库设计器→在要转换的表上右击→选“删除”。

在弹出的对话框中根据题目选择„移去‟或„删除‟

关于索引:

索引就像目录:目的是为了便于快速查询数据;索引是对表中记录按某种逻辑顺序重新排列。分类:①主索引:字段或表达式不允许有重复值,且一个表只能有一个主索引,只有数据库表才可以建。

②侯选索引:字段或表达式不允许有重复值,但一个表可以有多个侯选索引。

③唯一索引:字段或表达式允许有重复值,但重复的值只出现一次,一个表中可以有多个唯一索引。

④普通索引:字段或表达式允许有重复值,一个表可以有多个普通索引。创建:

I 鼠标操作:①打开此表的表设计器,选择要建立索引的字段,在其同行的„索引‟那一列中,按照题目要求选„升序‟或„降序‟(题目若无要求,则选“升序”)。

②点击 „索引‟选项卡,在其中的„索引类型‟中按照题目要求

进行填写。

Ⅱ 命令操作建立索引:

Index on 表达式(字段名)tag索引名……

省略号处是一些可选项,可选项如下:

①UNIQUE 唯一索引

②CANDIDATE 候选索引

③什么都不跟就是 普通索引

★命令操作无法建立主索引 索引的扩展名:

①.idx 非结构单索引

②.cdx(非默认名)非结构复合索引

③.cdx(与表同名)结构复合索引 使用索引:

① set index to [索引文件名] 打开索引文件

② set order to 索引序号/索引名 设置当前索引

③ delete tag 索引名/all 删除索引

关于表间的永久联系

A表和B表建立永久联系:找到A和B的共同字段XXX ,以XXX为索引表达式在A表中建立一个主索引 ,在B表中建立一个普通索引 ,从主索引拖到普通索引即可。

关于参照完整性约束

★插入规则 ★更新规则 ★删除规则

注:插入规则无“级联”。

关于多工作区 指定工作区:select 工作区号/表名

选择当前未被使用的最小工作区:select 0

★ VFP中一次最多可以同时打开32767个表,因为同时只能打开32767个工作区,就是说一个工作区只能同时打开一个表。使用不同工作区的表:

in 工作区号/表名

例:seek 表达式 order 索引名 in 工作区号/表名 表间的临时联系: ★set relation

例子:use 学生 in 1 order 学号

use 成绩 in 2 order 学号

set relation to 学号 into 成绩

关于排序

将表中记录物理地按顺序排列:

sort to 新表名 on 字段名 [/A|/D][/C] VFP 第4章

SQL语言(数据查询)

一、投影:SELECT 字段 FROM 表名

题目:1.对职工表进行查询,显示职工的职工号。

2.对职工表进行查询,显示所有信息(即所有字段)。

二、选择:SELECT 字段 FROM 表名 WHERE 条件

题目:3.对职工表进行查询,只显示工资多于1230元职工的职工号。

例如:1。从职工关系中检索(查询)所有的工资值。

2。查询职工表中有哪些仓库号。

三、连接:SELECT 字段 FROM 表1,表2 WHERE 表1.字段名=表2.字段名

题目:1。对仓库表和职工表进行查询,查询显示所有字段。

2。查找“E1”号职工所在的城市。查询显示职工号和城市。

3。查找工资多于1230元的职工号和他们所在的城市。

嵌套查询:SELECT 城市 FROM 仓库WHERE仓库号IN(SELECT仓库号FROM 职工WHERE 工资=1250)

BETWEEN……AND运算符(…和…之间)

题目:1。检索出工资在1220元到1240元范围内的职工信息。

LIKE运算符

例如:SELECT * FROM 供应商 WHERE 供应商名 LIKE “%厂”

SELECT * FROM 供应商 WHERE 供应商号 LIKE “S_”

★%表示0个或多个字符;_(下划线)表示一个字符。

AS的作用

例如:1。查询“E1”的工资,显示时用”月薪”代替”工资”字段。

SELECT 工资 AS 月薪 FROM 职工 WHERE 职工号=“E1”

连接查询的另一种写法:SELECT * FROM 仓库 JOIN 职工 ON 仓库.仓库号=职工.仓库号

简单的计算查询:COUNT(计数)、SUM(求和)、AVG(计算平均值)、MAX(求最大值)、MIN(求最小值)

例如:1。求职工表中的记录的个数:SELECT COUNT(*)FROM 职工

2。求职工表中的工资总和:SELECT SUM(工资)FROM 职工

3。求职工表中的平均工资:SELECT AVG(工资)FROM 职工

4。求职工表中的最大的工资值:SELECT MAX(工资)FROM 职工

5。求职工表中的最小的工资值:SELECT MIN(工资)FROM 职工

空值(.NULL.)查询

题目:1。找出尚未确定供应商号的订购单信息,查询显示所有字段。

排序查询:SELECT 字段名 FROM 表名 WHERE 条件 ORDER BY 字段 [ASC/DESC]

题目:1。对职工表进行查询,查询显示所有字段,查询结果按工资升序排序。

2。对职工表进行查询,查询显示所有字段,查询结果按职工号降序排序。

3。对职工表进行查询,查询显示所有字段,查询结果先按仓库号降序排序,再按工资升序排序。

分组查询:SELECT 字段名 FROM 表名 WHERE 条件 GROUP BY 字段名 [HAVING 条件]

题目:1。查询所有仓库的职工的工资总和。查询显示的字段为总工资。

2。查询每个仓库中职工的工资总和。查询显示的字段为仓库号和总工资。

3。求至少有两个职工的每个仓库的平均工资,查询显示的字段为仓库号、个数和平均工资。

查询语句的后面还可以跟如下可选项:

⊙INTO ARRAY 数组名 将查询的结果存放到数组(盒子)中。

⊙INTO CURSOR 表名 将查询的结果存放到一个临时表中。

⊙INTO DBF/TABLE 表名 将查询的结果存放到一个永久表中。

⊙TO FILE 文件名 将查询的结果存放到一个文本文件中。

⊙TO PRINTER 将查询的结果通过打印机输出。

UNION运算符的作用:

例如:1。如下查询语句是查询北京和上海的仓库信息。

SELECT * FROM 仓库 WHERE 城市=“北京”;

UNION;

SELECT * FROM 仓库 WHERE 城市=“上海” TOP短语的使用

例如:1。对职工表进行查询,只显示工资最高的3位的职工的信息(显示所有字段)。

SELECT * TOP 3 FROM 职工 ORDER BY 工资 DESC

SQL语言(数据操作)

一、插入:INSERT INTO 表名 VALUES(……记录值……)

二、更新:UPDATE 表名 SET 字段名=表达式 [WHERE 条件]

题目:1。对职工表中的工资值进行修改,在职工原来的工资值上再加上1000元。

2。对职工表中的工资值进行修改,只对仓库号为”WH1”中的职工在原来的工资值上再加上1000元。

三、删除:DELETE FROM 表名 [WHERE 条件]

题目:1。删除仓库表中全部记录 DELETE FROM 仓库

2。删除仓库关系中仓库号值是”WH2”的元组。

SQL语言(数据定义)

一、表结构的定义:CREATE TABLE 表名(字段名1…,字段名2…字段名n…)

二、表结构的删除:DROP TABLE 表名

三、表结构的修改:ALTER TABLE 表名 …………

题目:1。向”订购单”表增加一个“总金额”字段,字段类型为货币型。

2。向”订购单”表增加一个“总金额”字段,字段类型为货币型。并且为该字段设置有效性规则。

3。将”订购单”表中的“订购单号”字段的类型修改为字符型,宽度修改为6。

4。将”订购单”表中的“总金额”字段的有效性规则进行修改。

5。将”订购单”表中的“总金额”字段的有效性规则删除。

6。将”订购单”表中的“总金额”字段名改名为“金额”

7。将”订购单”表中的“金额”字段删除掉。

8。为”订购单”表中的“供应商号”字段设置为候选索引。

9。将”订购单”表中的候选索引(供应商号)删除。

关于视图(虚拟表):★本地视图 ★远程视图 ★带参数的视图

定义:CREATE VIEW 视图名 AS 查询语句

题目:1。已知表结构如幻灯片上所示。下面我们想根据“职工”表创建一个视图,视图名为CHENHAO。该视图中只包含仓库号和职工号两个字段。

CREATE VIEW CHENHAO AS SELECT 仓库号,职工号 FROM 职工

删除:DROP VIEW 视图名

VFP 第5章

关于查询设计器

作用:利用查询设计器可以用鼠标操作来完成一些简单的查询。

创建:①鼠标操作:“文件”→“新建” →勾选“查询” →“新建文件”。

②命令操作:CREATE QUERY [文件名]

★ 如果不指定文件名,系统将自动赋予一个指定的名称,如“查询

1、查询2……”。

题目:

一、利用查询设计器创建查询,从xuesheng和chengji表中查询数学、英语和信息技术三门课都在85分以上(含),或者数学、英语都在90分以上(含)而信息技术在75分以上(含)的学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号将序排序;查询去向为表table1。最后将查询保存在query1.qpr文件中,并运行该查询。

注:在全国计算机等级考试上机试题中(第32套中的简单应用中的第1小题)。

步骤:

1.“文件”→“新建” →勾选“查询” →“新建文件”。

2.选择“xuesheng”和“chengji”表,在“联接条件”对话框中,直接按“确定”按钮。在“添加表或视图”中,再按“关闭”按钮。

3.单击“字段”选项卡,选择题目要求的字段添加到“选定字段”列表框中。

4.单击“筛选”选项卡,在“字段名”选择“Chengji.数学”,在“条件”处选择“>=”在“字段名”,在“实例”处输入“85”,在“逻辑”处选择“AND”;移到下一个条件处,在“字段名”选择“Chengji.英语”,在“条件”处选择“>=”,在“实例”处输入“85”,在“逻辑”处选择“AND”;移到下一个条件处,在“字段名”选择“Chengji.信息技术”,在“条件”处选择“>=”,在“实例”处输入“85”。在“逻辑”处选择“OR”;在“字段名”选择“Chengji.数学”,在“条件”处选择“>=”在“字段名”,在“实例”处输入“90”,在“逻辑”处选择“AND”;移到下一个条件处,在“字段名”选择“Chengji.英语”,在“条件”处选择“>=”,在“实例”处输入“90”,在“逻辑”处选择“AND”;移到下一个条件处,在“字段名”选择“Chengji.信息技术”,在“条件”处选择“>=”,在“实例”处输入“75”。

5.单击“排序依据”选项卡,选择“Xuesheng.学号”并选择“降序”,接着单击“添加”按钮。

6.单击“查询输出去向”菜单项,在“查询去向”对话框中,单击“表”按钮,在“表名”处输入“table1”,再单击“确定”按钮。

7.保存该查询并运行。

运行:①鼠标操作:“查询”→“运行查询”;或者单击工具栏上的“运行”按钮。

②命令操作:DO 文件名 ★在有同名的文件时,这时文件名后一定要跟扩展名.qpr。

二、利用查询设计器创建查询,从xuesheng和chengji表中找出所有1982年出生的汉族学生记录。查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号将序排序;查询去向为表table1。最后将查询保存在query1.qpr文件中,并运行该查询。

注:在全国计算机等级考试上机试题中(第30套中的简单应用中的第1小题)。

步骤:

1.“文件”→“新建” →勾选“查询” →“新建文件”。

2.选择“xuesheng”和“chengji”表,在“联接条件”对话框中,直接按“确定”按钮。在“添加表或视图”中,再按“关闭”按钮。

3.单击“字段”选项卡,选择题目要求的字段添加到“选定字段”列表框中。

4.单击“筛选”选项卡,在“字段名”选择“表达式”,在“表达生成器”对话框中,输入表达式“YEAR(Xuesheng.出生日期)”,单击“确定”按钮,在“条件”处选择“=”,在“实例”处输入“1982”,在“逻辑”处选择“AND”,移到下一个条件处,在“字段名”选择“Xuesheng.民族”,在“条件”处选择“=”,在“实例”处输入““汉””。

5.单击“排序依据”选项卡,选择“Xuesheng.学号”并选择“降序”,接着单击“添加”按钮。

6.单击“查询输出去向”菜单项,在“查询去向”对话框中,单击“表”按钮,在“表名”处输入“table1”,再单击“确定”按钮。

7.保存该查询并运行。

查询中的查询去向有:浏览(默认的查询去向)、临时表、表、图形、屏幕、报表和标签。

关于视图设计器

★ 只比查询设计器多了一个“更新条件”选项卡。

★ 视图设计器中无法设置“查询去向”。

作用:利用视图设计器可以用鼠标操作来建立一个视图。

创建:①鼠标操作:“文件”→“新建” →勾选“视图” →“新建文件”。

②命令操作:CREATE VIEW

★ 只有在数据库中才可以建立视图,因为视图是存储在数据库当中的。

题目:

一、首先创建数据库cj_m,并向其中添加xuesheng表和chengji表。然后在数据库中创建视图view1:利用该视图只能查询数学、英语和信息技术三门课中至少有一门不及格(小于60分)的学生记录;查询结果包含学号、姓名、数学、英语和信息技术5个字段;各记录按学号将序排序。最后利用刚创建的视图view1查询视图中的全部信息,并将查询结果存放在表table2中。

注:在全国计算机等级考试上机试题中(第30套中的简单应用中的第2小题)。

步骤:

1.“文件”→“新建” →勾选“数据库” →“新建文件”,数据库名为cj_m。

2.将xuesheng表和chengji表分别添加到该数据库中。

3.“文件”→“新建” →勾选“视图” →“新建文件”。

4.选择“xuesheng”和“chengji”表,在“联接条件”对话框中,直接按“确定”按钮。在“添加表或视图”中,再按“关闭”按钮。

5.单击“字段”选项卡,选择题目要求的字段添加到“选定字段”列表框中。

6.单击“筛选”选项卡,在“字段名”选择“Chengji.数学”,在“条件”处选择“<”,在“实例”处输入“60”,在“逻辑”处选择“OR”,移到下一个条件处,在“字段名”选择“Chengji.英语”,在“条件”处选择“<”,在“实例”处输入“60”,在“逻辑”处选择“OR”,移到下一个条件处,在“字段名”选择“Chengji.信息技术”,在“条件”处选择“<”,在“实例”处输入“60”。

7.单击“排序依据”选项卡,选择“Xuesheng.学号”并选择“降序”,接着单击“添加”按钮。

8.保存该视图,在“保存”对话框中输入视图名“view1”。

9.接着在命令窗口输入:select * from view1 into table table2。

上机题目:课后请同学们一定要练习下面的上机试题。

一、在全国计算机等级考试上机试题中(第32套中的简单应用中的第2小题)。

二、在全国计算机等级考试上机试题中(第33套中的简单应用中的第1、2小题)。

表单、菜单与报表

关于表单设计器

表单题型

类型一

Ⅰ 一个文本框 两个命令按钮

典型题型:新建一个表单,其上有一个文本框,两个命令按钮,一个叫„查询‟,一个叫„退出‟,当单击查询按钮时,会在文本框中显示……的……,当单击退出按钮时,会退出表单

解题步骤:

(1)新建表单

(2)添加好一个文本框 和 两个命令按钮, 总共三个控件

(3)给两个命令按钮改标题

(4)在查询按钮上右击, 添加命令代码:Select …… from …… where …… into array aaa

Thisform.text1.value=aaa

(5)在退出命令按钮上右击, 添加命令代码:Thisform.release

Ⅱ 两个文本框 两个命令按钮

典型题型:新建一个表单,其上有两个文本框,两个命令按钮,一个叫„查询‟,一个叫„退出‟,在第一文本框中输入条件,当单击查询按钮时,会在第二个文本框中显示……的……,当单击退出按钮时,会退出表单

解题步骤:

(1)新建表单

(2)添加好两个文本框 和 两个命令按钮, 总共四个控件

(3)给两个命令按钮改标题

(4)在查询按钮上右击, 添加命令代码如下

Select …… from …… where ……=thisform.text1.value into array aaa

Thisform.text2.value=aaa

(5)在退出命令按钮上右击, 添加命令代码:Thisform.release 类型二

Ⅰ 一个表格控件 两个命令按钮

典型题型:新建一个表单,其上有一个表格控件,两个命令按钮,一个叫„查询‟,一个叫„退出‟,当单击查询按钮时,会在表格控件中显示……的……,当单击退出按钮时,会退出表单

解题步骤:

(1)新建表单

(2)添加好一个表格控件 和 两个命令按钮, 总共三个控件

(3)给两个命令按钮改标题

(4)修改表格控件的一些属性:columncount,列标题,recordsourcetype

(5)在查询按钮上右击, 添加命令代码如下

Thisform.grid1.recordsource=”Selec……from …… where …… into cursor aaa”

(6)在退出命令按钮上右击, 添加命令代码:Thisform.release

Ⅱ 一个文本框 一个表格控件 两个命令按钮

典型题型:新建一个表单,其上有一个文本框,一个表格控件,两个命令按钮,一个叫„查询‟,一个叫„退出‟,当单击查询按钮时,会在表格控件中显示……的……,当单击退出按钮时,会退出表单

解题步骤:

(1)新建表单

(2)添加好一个文本框 一个表格控件 和 两个命令按钮, 总共四个控件

(3)给两个命令按钮改标题

(4)修改表单控件的一些属性:columncount,列标题,recordsourcetype

(5)在查询按钮上右击, 添加命令代码如下

Thisform.grid1.recordsource=”Selec……from……where……=thisform.text1.value;into cursor aaa”

(6)在退出命令按钮上右击, 添加命令代码:Thisform.release

表单题型

作用:利用表单设计器可以进行面向对象的程序设计。

创建:①鼠标操作:“文件”→“新建” →勾选“表单” →“新建文件”。

②命令操作:CREATE FORM

修改(打开)表单: MODIFY FORM 文件名

运行表单: ①鼠标操作:“表单”→“执行表单”;或者单击工具栏上的“运行”按钮。

②命令操作:DO FORM 文件名

题目: ★ 一个表格 一个命令按钮 ★

一、建立表单MYFORM1,在表单上添加一个表格控件(名称为grdCourse)和一个命令按钮(名称Command1),命令按钮的标题为“退出”。表格控件是用来显示表course的内容(要求RecordSourceType属性必须为0)。单击命令按钮能够退出该表单。

步骤:

1.“文件”→“新建” →勾选“表单” →“新建文件”。

2.在“表单设计器”中,单击鼠标右键,在弹出菜单中选择“数据环境”菜单项,在“打开”对话框中选中表“course”并单击“确定”按钮,接着关闭“添加表或视图”对话框。

3.在“数据环境设计器”中,按住表“course”,然后拖动鼠标至“表单设计器”中,松开鼠标。

4.在“表单设计器”中,选中“表格”控件,在“属性”的RecordSourceType中选择“0-表”。

5.在“表单设计器”中,添加一个命令按钮,单击命令按钮在“属性”的Caption处输入“退出”,然后双击“退出”命令按钮,在“Command2.Click”编辑窗口中输入“Thisform.Release”,接着关闭编辑窗口。

6.保存表单,表单的文件名输入MYFORM1,最后运行表单。

★ 一个表格 两个命令按钮 ★

二、建立表单MYFORM2,在表单上添加一个表格控件(名称为grid1)和两个命令按钮,命令按钮的标题分别为“查询”和“退出”。单击“查询”按钮能够在表格控件中显示course表中的全部信息;单击“退出”按钮能够退出该表单。

步骤:

1.“文件”→“新建” →勾选“表单” →“新建文件”。

2.在“表单设计器”中,添加一个表格控件。将表格控件的RecordSourceType属性设为“4-SQL说明”。

3.接着在“表单设计器”中添加两个命令按钮,单击第一个命令按钮在“属性”的Caption处输入“查询”,然后双击“查询”命令按钮,在“Command1.Click”编辑窗口中输入:thisform.grid1.RecordSource=“select * from course into cursor aaa”,接着关闭编辑窗口。

4.单击第二个命令按钮在“属性”的Caption处输入“退出”,然后双击“退出”命令按钮,在“Command2.Click”编辑窗口中输入:thisform.release。接着关闭编辑窗口。

5.保存表单,表单的文件名输入MYFORM2,最后运行表单。

★ 一个文本框 一个表格 两个命令按钮 ★

三、建立表单MYFORM3,表单名为courseform。在表单上添加一个表格控件(名称为grid1)、一个文本框、一个标签控件和两个命令按钮,命令按钮的标题分别为“查询”和“退出”。标签控件的标题为“课程号”。通过文本框来输入课程号。单击“查询”按钮,是根据文本框中的值来查询course表中的信息,然后将查询的结果显示在表格控件中;单击“退出”按钮能够退出该表单。

步骤:

1.“文件”→“新建” →勾选“表单” →“新建文件”。

2.在“表单设计器”中,将表单的Name属性设为“courseform”。

3.在“表单设计器”中,添加一个表格控件。将表格控件的RecordSourceType属性设为“4-SQL说明”。

4.接着在“表单设计器”中添加一个标签控件和一个文本框。单击标签控件在“属性”的Caption处输入“课程号”。

5.在“表单设计器”中添加两个命令按钮,单击第一个命令按钮在“属性”的Caption处输入“查询”,然后双击“查询”命令按钮,在“Command1.Click”编辑窗口中输入:thisform.grid1.RecordSource=“select * from course where 课程号=thisform.text1.value into cursor bbb”,接着关闭编辑窗口。

6.单击第二个命令按钮在“属性”的Caption处输入“退出”,然后双击“退出”命令按钮,在“Command2.Click”编辑窗口中输入:thisform.release。接着关闭编辑窗口。

7.保存表单,表单的文件名输入MYFORM3,最后运行表单。

关于菜单设计器

菜单分为:“下拉式菜单” 和 “快捷菜单”

创建:①鼠标操作:“文件”→“新建” →勾选“菜单” →“新建文件”。

②命令操作:MODIFY MENU [文件名]

★如果指定的文件名存在,则此时命令为修改;否则为建立。

运行菜单: DO 文件名.mpr

★这时文件名后一定要跟扩展名.mpr。

菜单的扩展名分为:①.mnx 定义(保存)时的菜单扩展名

②.mpr 生成(运行)时的菜单扩展名

题目: ★ 建立下拉式菜单 ★

一、建立菜单MYMENU1,该主菜单中的菜单项包括:数据维护(W)、编辑(B)、退出(R)。单击“数据维护”弹出子菜单,该子菜单中含有3个菜单项,分别是:录入记录、修改记录和浏览记录。单击“退出”,退出该菜单,将系统菜单恢复为标准设置。并生成菜单程序。

步骤:

1.“文件”→“新建” →勾选“菜单” →“新建文件”。

2.在“菜单设计器”中,将各个菜单项设置完成,然后在“退出”菜单项中,将“结果”设为“过程”。点击“创建”按钮,打开文本编辑窗口,输入下面两行代码:

SET SYSMENU NOSAVE

SET SYSMENU TO DEFAULT

3.单击“文件”菜单中的“保存”按钮,保存该菜单的定义文件,菜单的文件名输入MYMENU1。

4.生成菜单程序:单击“菜单”菜单中的“生成”命令。

5.运行该菜单程序:DO MYMENU1.mpr

★ 在表单中添加下拉式菜单 ★

二、创建一个顶层表单MYFORM(表单的标题为“学校管理”),运行时使该表单自动居中。然后并在表单中添加上一题中建立好的菜单MYMENU1.mpr。

步骤:

1.打开上一题中建立好的菜单文件MYMENU1,在“显示”菜单中选择“常规选项”命令,在弹出的对话框中选择“顶层表单”复选框。然后保存并生成菜单程序。

2.创建表单:“文件”→“新建” →勾选“表单” →“新建文件”。

3.在“表单设计器”中,将表单的Caption属性设为“学校管理”。AutoCenter属性设为“.T.”。

4.在“表单设计器”中,将表单的ShowWindow属性值设置为2,目的是使其成为顶层表单。

5.双击表单的空白处,在弹出的对话框中选择Init事件,接着在表单的Init事件代码中添加调用菜单程序的命令:DO MYMENU1.mpr WITH THIS。

6.保存并运行该表单。

★ 建立快捷菜单 并在表单中调用 ★

三、建立一个快捷菜单MYMENU2,该快捷菜单中包括:复制、粘贴和查找三个菜单项。

接着建立一个表单MYFORM2,并在该表单中调用刚刚所建立的快捷菜单。

步骤:

1.“文件”→“新建” →勾选“菜单” →“新建文件”。

2.在“菜单设计器”中,将各个菜单项设置完成后,3.单击“文件”菜单中的“保存”按钮,保存该菜单的定义文件,菜单的文件名输入MYMENU2。

4.生成菜单程序:单击“菜单”菜单中的“生成”命令。

5.接着创建表单:“文件”→“新建” →勾选“表单” →“新建文件”。

6.双击表单的空白处,在弹出的对话框中选择RightClick事件,接着在表单的RightClick事件代码中添加调用菜单程序的命令:DO MYMENU2.mpr。

7.保存并运行该表单。

上机题目:课后请同学们一定要练习下面的上机试题。

一、在全国计算机等级考试上机试题中(第8套中的简单应用中的第2小题)。

二、在全国计算机等级考试上机试题中(第10套中的简单应用中的第2小题)。

三、在全国计算机等级考试上机试题中(第11套中的简单应用中的第2小题)。

四、在全国计算机等级考试上机试题中(第12套中的简单应用中的第2小题)。

五、在全国计算机等级考试上机试题中(第13套中的简单应用中的第2小题)。

关于报表的设计和应用

创建:①鼠标操作:“文件”→“新建” →勾选“报表” →“新建文件”。

②命令操作:CREATE REPORT [报表文件名]

★如果不指定文件名,系统将自动赋予一个指定的名称,如“报表

1、报表2……”。

打开(修改)报表:MODIFY REPORT 文件名

打印(预览)报表:REPORT FORM 文件名 [PREVIEW]

题目:

一、在全国计算机等级考试上机试题中(第5套中的简单应用中的第1小题)。

二、在全国计算机等级考试上机试题中(第9套中的简单应用中的第2小题)。

三、在全国计算机等级考试上机试题中(第14套中的简单应用中的第2小题)。

四、在全国计算机等级考试上机试题中(第3套中的简单应用中的第2小题)。

五、在全国计算机等级考试上机试题中(第1套中的综合应用题)。

本书相关知识点

相关命令 建立(修改)程序文件: MODIFY COMMAND [文件名]

★如果指定的文件名存在,则此时命令为修改;否则为建立。

运行程序: DO 文件名 ★在有同名的文件时,这时文件名后一定要跟扩展名。建立查询文件: CREATE QUERY [文件名]

★如果不指定文件名,系统将自动赋予一个指定的名称,如“查询

1、查询2……”。

运行查询: DO 文件名 ★在有同名的文件时,这时文件名后一定要跟扩展名。建立视图: CREATE VIEW

打开视图: USE 视图名 ★只有当数据库为打开状态时才有用。创建表单: CREATE FROM

修改(打开)表单: MODIFY FORM 文件名

运行表单: DO FORM 文件名 建立(修改)菜单文件: MODIFY MENU [文件名] ★如果指定的文件名存在,则此时命令为修改;否则为建立。

运行菜单程序: DO 文件名 ★这时文件名后一定要跟扩展名.mpr。创建报表: CREATE REPORT [报表文件名]

★如果不指定文件名,系统将自动赋予一个指定的名称,如“报表

1、报表2……”。

打开(修改)报表: MODIFY REPORT 文件名

打印(预览)报表: REPORT FORM 文件名 [PREVIEW] 相关SQL命令 数据查询:SELECT 字段名 FROM 表名 WHERE 条件 ………………

★省略号处是其他选项,选项如下:

⊙GROUP BY 字段名 HAVING 条件:按指定的字段分组,HAVING为分组的条件。

⊙ORDER BY 字段名 ASC/DESE:按指定的字段升序或降序排序。

⊙INTO ARRAY 数组名:将查询结果存放到数组中。

⊙INTO CURSOR 表文件名:将查询结果存放到临时表文件中。

⊙INTO DBF/TABLE 表文件名:将查询结果存放到永久表文件中。

⊙TO FILE 文本文件名 [ADDITIVE]:将查询结果存放到文本文件中。

⊙TO PRINTER [PROMPT]:将查询结果输出到打印机中。

★相关的杂项:⊙DISTINCT:去掉重复值 ⊙TOP:查询最前面的记录 插入数据:INSERT INTO 表名 VALUES(……记录……)更新数据:UPDATE 表名 SET 字段名=表达式 [WHERE 条件] 删除数据:DELETE FROM 表名 WHERE 条件 表的定义:CREATE TABLE 表名(字段名1…,字段名2…,字段名3…,字段名n……)

★省略号处是其他选项,选项有:⊙PRIMARY KEY:主索引 ⊙FOREIGN KEY:普通索引

⊙CHECK:规则 ⊙ERROR:信息 ⊙DEFAULT:默认值 表的删除:DROP TABLE 表名 表结构的修改:ALTER TABLE 表名…………

★省略号处是其他选项,选项如下:

⊙ADD 字段名(宽度)…:增加字段

⊙ALTER:只能修改字段的类型、宽度等,不能对字段名进行修改。

⊙ALTER 字段名 SET DEFAULT…/CHECK…ERROR…:修改指定字段的默认值和有效性规则。

⊙ALTER 字段名 DROP DEFAULT/CHECK:删除指定字段的默认值和有效性规则。

⊙RENAME COLUMN 原字段名 TO 新字段名:将原字段名修改为新字段名。

⊙DROP COLUMN 字段名:删除字段。

⊙ADD PRIMARY KEY/UNIQUE/FOREIGN KEY 表达式 TAG 索引名:定义主索引、惟一索引和普通索引。

⊙DROP PRIMARY KEY:删除主索引。⊙DROP UNIQUE/ FOREIGN KEY TAG 索引名:删除惟一索引和普通索引。视图的定义:CREATE VIEW 视图名 AS 查询语句 相关文件的扩展名

⊙.pjx 项目 ⊙.dbc 数据库 ⊙.dbf 表 ⊙.cdx 复合索引 ⊙.FPT 表备注 ⊙.frx 报表 ⊙.mnx 保存的菜单文件 ⊙.mpr 生成的菜单程序 ⊙.prg 程序 ⊙.qpr 查询 ⊙.scx 表单 ⊙.app 生的应用程序Active Document ⊙.exe 可执行程序

第五篇:全国计算机等级考试二级vfp考点

010二级公共基础知识复习纲要

第 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.),则输入日期时间型常量时要用大括号(如{^202_-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)在设计器环境下,选定需要添加快捷菜单的对象。

(7)在选定对象的RightClick事件代码中,添加调用快捷菜单程序的格式为: DO<快捷菜单程序文件名> 此处的文件扩展名MPR不能默认。

VFP二级考试应试策略1
TOP