全国计算机等级考试二级VFP重点

更新时间:2024-04-30 06:10:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Visual FoxPro考试大纲串讲

1.1.1 Visual FoxPro基础

考核知识点一 数据库基础知识 ㈠.计算机数据管理的发展

1.数据与数据处理

数据是指存储在某一种媒体上能够识别的物理符号。数据的概念包括两个方面:其一是描述事物特性的数据内容:其二是存储在某一种媒体上的数据形式。数据形式可以是多种多样的。

数据处理是指将数据转换成信息的过程。从数据处理的角度而言,信息是一种被加工成特定形式的数据,这种数据形式对于数据接收者来说是有意义的。

2、计算机数据管理

数据处理的中心问题是数据管理。计算机对数据的管理是指对数据的组织、分类、编码、存储、检索和维护提供操作手段。

计算机在数据管理方面也经历了由低级到高级的发展过程。计算机数据管理随着计算机硬件、软件技术和计算机应用范围的发展而不断发展,多年来经历了人工管理、文件系统、数据库系统、分布式数据库系统和面向对象数据库系统等几个阶段。

㈡.数据库系统

1、有关数据库的概念

①数据库

数据库(Data Base)是存储在计算机存储设备上,结构化的相关数据集合。它不仅包括描述事物的数据本身,而且还包括相关事物之间的联系。 ②数据库应用系统

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

数据库管理系统DBMS可以对数据库的建立、使用和维护进行管理。 ④数据库系统

数据库系统是指引进数据库技术后的计算机系统。实现有组织地、动态地存储大量相关数据,提供数据处理和信息资源共享的便利手段。数据库系统由五部分组成:硬件系统、数据库集合、数据库管理系统及相关软件、数据库管理员和用户。

2.数据库系统的特点:

数据库系统的主要特点如下:

①实现数据共享,减少数据冗余。 ②采用特定的数据模型: ③具有较高的数据独立性: ④有统一的数据控制功能。

㈢.数据模型

1、实体的描述

①实体

客观存在并且可以相互区别的事物称为实体。 ②实体的属性

描述实体的特性称为属性。 ③实体集和实体型

字段值的集合表示一个实体,而属性的集合表示一种实体的类型,称为实体型。同类的实体的集合,称为实体集。在Visual FoxPro中,用“表”来存放同一类实体,即实体集。

2.实体间联系及联系的种类

实体之间的对应关系称为联系,它反映现实世界事物之间的相互关联。

实体间联系的种类是指一个实体型中可能出现的每一个实体与另一个实体型中多个具体实体存在联系。两个实体间的联系可以归结为三种类型。

①一对一联系: ②一对多联系: ③多对我联系:

3.数据模型简介

数据模型是数据库管理系统用来表示实体及实体间联系的方法。一个具体的数据模型应当正确地反映出数据之间存在的整体逻辑关系。

任何一个数据库管理系统都是基于某种数据模型的。数据库管理系统所支持的数据模型分为三种:层次模型、网状模型、关系模型。因此,使用支持某种特定数据库管理系统开发的应用系统相应地称为层次数据库系统、网状数据库系统、关系数据库系统。

考核知识点二 关系数据库 ㈠.关系模型

关系模型的用户界面非常简单,一个关系的逻辑结构就是一张二维表。这各用二维表的形式表示实体和实体间联系的数据模型称为关系数据模型。

1、关系术语

在Visual FoxPro中,一个“表”就是一个关系。

①关系:一个关系就是一张二维表,每个关系有一个关系名。在Visual FoxPro中,一个关

系存储为一个文件,文件扩展名为.dbf,称为“表”。

对关系的描述称为关系模式,一个关系模式对应一个关系的结构。其格式为: 关系名(属性名1、属性名2、属性名3,……,属性名n) 关系名(字段名1、字段名2、字段名3,??,字段名n)

②元组:在一个二维表(一个具体关系)中,水平方向的行称为元组,每一行是一个元组。元组对应存储文件中的一个具体记录。

③属性:二维表中垂直方向的列称为属性,每一列有一个属性名,与前面讲的实体属性相同,在Visual FoxPro中表示为字段名。每个字段的数据类型、宽度等在创建表的结构时规定。

④域:属性的取值范围,即不同元组对同一个属性的取值所限定的范围。 ⑤关键字:属性或属性的组合,其值能够惟一地标识一个元组。

⑥外部关键字:如果表中的一个字段不是本表的主关键字或候选字,而是另外一个表的主关键字或候选关键字,这个字段(属性)就称为外部关键字。

2.关系的特点

①关系必须规范化。

②在同一个关系中不能出现的属性名,Visual FoxPro不允许同一个表中相同的字段名。 ③关系中不允许有完全相同的元组。

④在一个关系中元组次序无关紧要。也就是说,任意交换两行的位置并不影响数据的实际含义。日常生活中经常见到的“排名不分先后”正反这种意义。

⑤在一个关系中列的次序无关紧要。任意交换两列的位置也不影响数据的实际含义。

㈡.关系运算

1.传统的集合运算

进行并、差、交集合运算的两个关系必须具有相同的关系模式,即相同结构。

2.专门的关系运算

①选择: ②投影: ③联接: ④自然联接。

考核知识点三、 数据库设计基础 ㈠.数据库设计步骤

1.设计原则

为了合理组织数据,应遵从以下基本设计原则: ①关系数据库的设计应遵从概念单一化、“一事一表”的原则: ②避免在表之间出现重复字段:

③表中的字段必须是原始数据和基本数据元素:

④用外部关键字伪保证需要有关的表之间的联系。

2.设计的步骤

①需要分析: ②确定需要的表: ③确定所需字段: ④确定联系: ⑤设计求精。

㈡.数据库设计过程

1.需要分析

用户需求主要包括三个方面: ①信息要求: ②处理需求:

③安全性和完整性要求。

2.确定需要的表 3.确定所需字段

下面的确定字段时需要注意的问题: ①每个字段直接和表的实体相关: ②以最小的逻辑单位存储信息: ③表中的字段必须是原始数据: ④确定主关键字字段。

4.确定联系

要建立两个表的联系,可以把其中一个表的主关键字添加到另一个表中,使两个都有该字段。具体方法如下:

①一对多联系: ②多对多联系: ③一对一联系。

5.设计求精

考核知识点四 Visual FoxPro系统概述

Visual FoxPro6.0的特点:

Visual FoxPro6.0提供了一系列新特色:它成功地解决了计算机2000年问题,使用户基于开发软件顺利地跨入新世纪的门坎:增强了Internet技术,WWW数据库的设计,最新流行的ActiveX和一系列的向导、生成器以及控件等集成工具。

1.1.2 Visual FoxPro系统初步

考核知识点一 Visual FoxPro6.0的安装与启动

个人计算机的软硬件基本配置要求如下:

①处理器:带有486DX/66MHz处理器,推荐使用pentium或更高档处理器的PC兼容机: ②内存储器:16MB以上的内在,推荐使用24MB内存:

③硬盘空间:典型安装需要85MB的硬盘空间:最大安装需要90MB硬盘空间: ④需要一个鼠标、一个光盘驱动器,推荐使用VGA或更高分辨率的显视器:

⑤操作系统:由于Visual FoxPro是32位产品,需要在Windows95/98(中文版)或者WindowsNT4.0(中文版)或更高版本的操作系统上运行。 ㈠.安装Visual FoxPro6.0

Visual FoxPro可以从CD-ROM或网络上安装。 ㈡.启动Visual FoxPro6.0

1.启动系统

在Windows中启动Visual FoxPro6.0的方法与启动任何其他应用程序相同,单击Windows的“开始”按钮,依次选择“程序”\\“Microsoft Visual FoxPro6.0”菜单项即可。

2.退出系统

有四种方法可以退出Visual FoxPro6.0返回Windows,用户可以根据自己的习惯,任选其中一种方法:

①用鼠标左键单击Visual FoxPro6.0标题栏最右面的关闭窗口按钮。 ②从“文件”下拉菜单中选择“退出”选项。

③单击窗口左上方的狐狸图标,从窗口下拉菜单中选择“关闭”选项,或者按Alt+F4键。 ④在命令窗口中左上方键入QUIT命令,单击Enter键.

考核知识点二 Visual FoxPro6.0的用户界面

Visual FoxPro有三种工作方式:利用菜单系统或工具栏按钮执行命令:在命令窗口直接输入命令进行交互式操作:利用各种生成器自动产生程序,或者编写FoxPro程序(命令文件),然后执行它。前两种方法属于交互式工作方式,可以通过这两种方法得到同一结果。执行命令文件为自动化工作方式,菜单工作方式为最终用户提供了更加使便利的操作手段。

考核知识点三 项目管理器

所谓项目是指文件、数据、文档和Visual FoxPro对象的集合。“项目管理器”是Visual FoxPro中处理数据和对象主要组织工具,它为系统开发者提供了极为便利的工作平台,一是提供了简便的、可视化的方法来组织和处理表、数据库、表单、报表、查询和其他一切文件,通过单击鼠标就能实现对文件的创建、修改、删除等操作:二是在项目管理器中可以将应用系统编译成一个扩展名为app的应用文件或.exe的可执行文件。

考核知识点四 Visual FoxPro向导、设计器、生成器简介 ㈠.Visual FoxPro的向导

向导是一种交互式程序,用户在一系列向导屏幕上回答问题或者选择选项,向导会根据回答生成文件或者执行任务,帮助用户快速完成一般性的任务。例如,创建表单、编排报表的格式、建立查询、制作图表、生成数据透视表、生成交叉表报表以及在Wbe上按HTML格式发布等。Visual FoxPro中带有超过21种的向导。

㈡.Visual FoxPro的设计器

Visual FoxPro设计器是创建和修改应用系统各种组件的可视化工具。利用各种设计器使得创建表、表单、数据、查询和报表以及管理数据变得轻而易举,为初学者提供了方便的工具。

㈢.Visual FoxPro的生成器

生成器是带有选项卡的对话框,用于简化对表单、复杂控件和参照完整性代码的创建和修改过程。每个生成器显示一系列选项卡,用于设置选中对象的属性。可使用的生成器在数据库之间生成控件、表单、设置控件格式和创建参照完整性。

1.1.3数据与数据运算

考核知识点一 常量与变量 ㈠.常量

常量用以表示一个具体的、不变的值。不同类型的常量有不同的书写格式。

1.数值型常量

数值型常量也就是常数,用表示一个数量的大小,有数字0~9、小数点和正负号构成。

2.货币型常量

货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的符号($)。货币数据在存储和计算时,采用4位小数.如果一个货币型常量多于4位小数,那么系统会自动将多余的小数位四舍五入。

3.字符型常量

字符型常量也称为字符串,其表示方法是用半角单引导\\双引号或方括号把字符串括起来。这里的单引号、双引号或防括号成为定界符。许多常量都有定界符。定界符虽然不作为常量本身的

内容,但它规定了常量的类型以及常量的其始和终止界限。

字符型常量的定界符必须成对匹配,不能一边用单引号而另一边用双引号。如果某中定界符本身也是字符串的内容,则需要用另一种定界符为该字符串定界。

4.日期型常量

日期型常量的定界符是一对花括号。花括号内包括年、月、日三部分内容,各部分内容之间用分隔符分隔。系统默认为斜杠(/)分隔符。常用的其他日期分隔符有连字号(-)、句点(.)和空格。

5.日期时间型常量

日期时间型常量包括日期和时间两部分内容:{<日期>,<时间>}。<日期>部分与日期时间型常量相似,也有传统的和严格的两种形式。

<时间>部分的格式为[hh[:mm[:ss][alp]]]。其中hh、mm和ss分别代表时、分和秒,默认值分别为12、0和0。A和p分别代表上午和下午,默认值为a,如果指定的时间大于等于12,则默认为下午的时间。

6.逻辑型常量

逻辑型数据只有逻辑真和逻辑假两个值。逻辑真的常量表示形式有:.T.、.t.、.Y.和.y.。逻辑假的常量表示形式有:.F.、.f.、.N.和.n.。前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。逻辑型数据只占用一个字节。

㈡.变量

变量值是能够随时更改的。Visual FoxPro的变量分为字段变量和内存变量两大类。由于表中的各条记录对同一个字段名可能取值不同,因此,表中的字段名就是变量,成为字段变量。内存变量的数据类型包括字符型(C)、数值型(N)、货币型(Y)、逻辑型(L)、日期型(D)和日期时间型(T)。 简单内存变量

每一个变量都有一个名字,可以通过变量名访问变量。如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀M.(或M-),否则系统将访问同名的字段变量。 数组

数组是内存中连续的遗篇储存区域,它由一系列元素组成,每个数组元素可通过数组名及相应的下标来访问。每个数组元素相当于一个简单变量,可以给各元素分别赋值。在Visual FoxPro中,一个数组中各元素的数据类型可以不同。

与简单内存变量不同,数组在使用之前一般要用DIMENSION或DECLKARE命令显示创建,规定数组是一维数组还是二维数组,数组名和数组大小。数组大小由下标值的上、下限决定,下限规定为1。

创建数组的命令格式为:

DIMENSION<数组名>(<下标上限1>[,<下标上限2>])[,……] DECLKARE<数组名>(<下标上限1>[,<下标上限2>])[,……]

以上两种格式的功能完全相同.数组创建后,系统自动给每个数组元素赋以逻辑假.F.。 内存变量与常用命令

1.内存变量的赋值

格式1:STORE <表达式> TO<变量名表>

格式2:<内存变量法>=<表达式>

功能:计算表达式并将表达式值赋给一个或多个内存变量,格式2只能给一个变量赋值。

2.表达式值的显示

格式1: ?[<表达式表>] 格式2:?? [<表达式表>]

功能:计算表达式表中的各表达式并输出各表达式值。

不管有设有指定表达式表,格式1都会输出一个回车行符。如是指定了表达式表,各表达式值将在下一行的起始处输出。

格式2不会输出一个回车换行符,各表达式值在当前行的光标所在处直接输出。

3.内存变量的显示

格式1:LIST MEMORY [ LIKE<通配符>] [TO PRINTER TO FILE<文件名>]

格式2:DISTLAY MEMORY [LIKE<通配符>] [TO PRINTER TO FILE<文件名> ] 功能:显示内在变量的当前信息,包括变量名、作用域外、类型、取值。 选用LIKE短语只显示与通配符相匹配的内在变量,通配符包括*和?。*表示任意多个字符,?表示任意一个字符。

可选子TO PRITER或TO FILE<文件名>用于在显示的同时送往打印机,或者存入给定文件名的文本文件中,文件的扩展名为.txt。

LIST MEMORY一次显示与通配符匹配的所有内存变量,如果内存变量多,一屏显示不下,则自动向上滚动。DISPLAYME MORY分屏显示与通配符匹配的所有内存变量,如果内存变量多,显示一屏后暂停,按任意键之后再继续显示下一屏。

4.内存变量的清除

格式1:CLEAR MEMORY

格式2:RELEASE<内存变量表>

格式3:RELEASE ALL〔EXTENDED〕

格式4:RELEASE ALL〔LIKE<通配符>1EXCEPT<通配符>〕

功能:格式1清除所有内存变量。在人机会话状态其作用与格式1相同。如果出现在程序中,则应该加上短语EXTENDED,否则不能删除公共内存变量。

格式4选用LIKE短语清除与通配符相匹配的内存变量,选用EXCEPT短语清除与通配符不相匹配的内存变量。

5.表中数据与数组数据之间的交换

表文件的数据内容是以记录的方式存储和使用的,而数组是把一批数据组织在一起的数据处理方法,为了使它们之间主便地进行数据交换,以利于程序的使用,Visual FoxPro提供了相互之间数据传递的功能,可以方便地完成表记录与内存变量之间的数据交换。

①将表的当前记录复制到数组

格式1:SCATTER〔FIELDS<字段名表>〕〔MEMO〕TO<数组名>〔BLANK〕 格式2:SCATTER 〔FIELDS LIKE<通配符> ┃FIELDS EXCEPT<通配符>〕〔MEMO〕TO<

数组名>〔BLANK〕

②将数组数据复制到表的当前记录

格式1:GATHER FROM<数组名>〔FIELDS<字段名表>〕〔MEMO〕

格式2:GATHER FROM<数组名>〔FIELDS LIKE<通配符> ┃FIELDS EXCEPT<通配符>〕

〔MEMO〕

考核知识点二 表达式 ㈠.数值表达式

数值表达式由算术运算符将数值型数据连接起来形成,其运算结果仍然是数值型数据。数值型数据可以是数值型常量或者变量。

㈡.字符表达式

字符表达式由字符串运算符将字型数据连接起来形成,其运算结果仍然是字符型数据。字符串运算符有以下两个,它们的优先级相同:

+:前后两个字符串首尾连接形成一个新的字符串。

-:连接前后两个字符串,并将前字符串的尾部空格移到合并后的新字符串尾部。

㈢.日期时间表达式

日期时间表达式中可以使用的运算符也有+和-两个。 日期时间表达式的格式有一定限制,不能任意组合。

㈣.关系表达式

1.关系表达式

关系表达式通常称为简单逻辑表达式,它由关系运算符将两个运算对象连接起来形成,即:<表达式1><关系运算符><表达式2>

关系运算符的作用是比较两个表达式的大小或前后,其运算结果是逻辑型数据。

2.设置字符的排序次序

当比较两个字符串时,系统对两个字符串的字符自左向右逐个进行比较,一量发现两个对应字符不同,就根据这两字符的排序序列决定两个字符串的大小。对字符序列的排序设置有人机会话和命令两种方式。

㈤.逻辑表达式

逻辑表达式由逻辑运算符将逻辑型数据连接起来而形成,其运算结果仍然是逻辑型数据。逻辑运算符有三个:.NOT.或!(逻辑非)、AND)(逻辑与)以及OR(逻辑或)。也可以省略两端的点,写成NOT、AND、OR。其优先级顺序依次为NOT、AND、OR。

㈥运算符优先级

先执行算术运算符、字符串运算符和日期时间运算符,其次势利关系运算符,最后执行逻辑运算符。

圆括号作为运算符,可以改变其他运算符的运算次序。圆括号中的内容作为整个表达式的子表达式,在与其他运算对象进行各类运算前,其结果首先要被计算出来。我们说圆括号的优先级最高,其含义就在于此。圆括号可以嵌套。

考核知识点三 常用函数 ㈠.数值函数

数值函数是指函数值为数值的一类函数,它们的自变量和返回值往往者是数值型数据。

1.绝对值和符号函数

格式:ABS(<数值表达式>)

SEGN(<数值表达式>)

功能:ABS()返回指定的数值表达式的绝对值。

SIGN()返回指定数值表达式的符号。当表达式的运算结果为正、负和零时,函数值分

别为1、-1和0。

2.求平方根函数

格式:SQRT(<数值表达式>)

功能:返回指定表达式的平方根。自变量表达式的值不能为负。

3.圆周率函数

格式:PI()

功能:返回圆周率的值(数值型)。该函数没有自变量。

4.求整数函数

格式:INT(<数值表达式>)

CEILING(<数值表达式>) FLOOR(<数值表达式>)

功能:INT()返回指定数值表达式的整数部分。

CEILING()返回大于或等于指定数值表达式的最小整数。 FLOOR()返回大于或等于指定数值表达式的最大整数。

5.四舍五入函数

格式:ROUND(<数值表达式1><数值表达式2>)

功能:返回指定表达式在指定位置四舍五入后的结果。<数值表达式2>指明四舍五入的位置。若<数值表达式2>大于等于0,那么它表示的是要保留的小数位数;若<数值表达式2>小于0,那

么它表示的是整数部分的舍入位数。

6.求余数函数

格式:MOD(<数值表达式1><数值表达式2>)

功能:返回两个数值相除后的余数。<数值表达式1>是被除数,<数值表达式2>是除数。余数的正负号与除数相同。如果被除与除数同号,那么函数值即为两数相除的余数;如果被除数与除数异号,则函数值为两数相除的余数再加上除数的值。

7.求最大值和最小值函数

格式:MAX(<数值表达式1>,<数值表达式2>〔,<数值表达式3>..〕)

MIN(<数值表达式1>,<数值表达式2>〔,<数值表达式3>...〕) 功能:MAX()计算各自变量表达式的值,并返回其中的最小值。

MIN()计算各自变量表达式的值,并返回其中的最小值。

自变量表达式的类型可以是数值型、字符型、货币型、双精度型、浮点型、日期型和日期时间型,但所有表达式的类型必须相同。

㈡.字符函数

字符函数是指自变量一般是字符数据的函数。

1.求字符串长度函数

格式:LEN(<字符表达式>)

功能:返回指定字符表达式值的长度,即所包含的字符个数。函数值为数值型。

2.大小写转换函数

格式:LOWER(<字符表达式>)

UPPER(<字符表达式>)

功能:LOWER()将指定表达式值中的大写字母转换成小写字母,其他字符不变。

UPPER将指定表达式值中的小写字母转换成大写字母,其他字符不变。

3.空格字符串生成函数

格式:SPACE(<数值表达式>)

功能:返回由指定数目的空格组成的字符串。

4.删除前后空格函数

格式:TRLM(<字符表达式>)

LTRIM(<字符表达式>) ALLTRIM(<字符表达式>)

功能:TRLM()返回指定字符表达式值去掉尾部空格后形成的字符串。

LTRIM(<字符表达式>)返回指定字符表达式值去掉前部空格后形成的字符串。

ALLTRIM(<字符表达式>)返回指定字符表达式值去掉前部和尾部空格后形成的字符

串。

5.取子串函数

格式:LEFT(<字符表达式>,<长度>)

RIGHT(<字符表达式>,<长度>)

SUBSTR(<字符表达式>,<起始位置>,〔<长度>〕)

功能:LEFT()从指定表达式值的左端取一个指定长度的子串作为函数值。

RIGHT()从指定表达式值的右端取一个指定长度的子串作为函数值。

SUBSTR()从指定表达式值的指定起始位置取指定长度的子串作为函数值。

在SUBSTR()函数中,若缺省第三个自变量<长度>,则函数从指定位置一直取到最后一个字符。

6.计算子串出现次数函数

格式:OCCURS(<字符表达式2>,<字符表达式1>)。

功能:返回第一个字符串在第二个字符中出现的次数,函数值为数值型。若第一个字符串不是第一个字符串的子串,函数值为0。

7.求子串位置函数

格式:AT(<字符表达式1>,<字符表达式2>)[<数置表达式1>]。

ATC(<字符表达式1>,<字符表达式2>)[<数置表达式1>]

功能:AT()函数值为数值型。如果<字符表达式2>是<字符表达式1>的子串,则返回<字符表达式1>值的首字符在<字符表达式2>值中的位置;若不是子串,则返回0。

ATC()与AT()功能类似,但在子串比较时不区分字母大小写。

第三个自变量<数值表达式1>用于表明要在<字符表达式2>值中搜索<字符表达式1>值的第几次出现,其默认值是1。

8.子串替换函数

格式:STUEF(<数值表达式1>,<起始位置>,<长度><字符表达式2>)

功能:用<字符表达式2>值替换<字符表达式1>中由<起始位置>和<长度>指明的一个子串。替换和被替换的字符个数不一定相等。如果<长度>值是0,<字符表达式2>则插在由<起始位置>指定的字符前面。如果<字符表达式2>值是空串,那么<字符表达式1>中由<起始位置>和<长度>指明的子串被删去。

9.字符替换函数

格式:CHRTRAN(<字符表达式1>,<字符表达式2>,<字符表达式3>)

该函数的自变量是一个字符表达式。当第一个字符串中的一个或多个字符与第二个字符串中的某个字符相匹配时,就用第三个字符串中的对应字符(相同位置)替换这些字符。如果第三个字符串包含的字符个数少于第二个字符串包含的字符个数,因而没有对应字符,那么第一个字符串中相匹配的各字符将被删除。如果第三个字符串包含的字符个数多于第二个字符串包含的字符个数,多余字符被忽略。

10.字符串匹配函数

格式:LIKE(<字符表达式1>,<字符表达式2>)

功能:比较两个字符串对应位置上的字符,若所有对应字符都相匹配,函数返回逻辑真(.T.),否则返回逻辑假(.F.)。<字符表达式1>中可以包含通配符*和?。*可以与任何数目的字符相匹配,?

可以与任何单个字符相匹配。

㈢.日期和时间函数

日期和时间函数的自变量一般是时期型数据或日期时间型数据。

1.系统日期和时间函数

格式:DATE()

TIME()

DATETIME()

功能:DATE()返回当前系统日期,函数值为日期型。

TIME()以24小时制、hh:mm:ss格式返回当前系统时间,函数值为字符型。 DATETIME()返回当前系统日期时间,函数值为日期时间型。

2.求年份、月份和天数函数

格式:YEAR(<日期表达式>|<日期时间表达式>)

MONTH(<日期表达式>|<日期时间表达式>) DAY(<日期表达式>|<日期时间表达式>)

功能:YEAR()从指定的日期表达式或日期时间表达式中返回年份(如2001)

MONTH()从指定的日期表达式或日期时间表达式中返回月份

DAY()从指定的日期表达式或日期时间表达式中返回月里面的天数。 这三个函数的返回值都为数值型。

3.时、分和秒函数

格式:HOUR(<日期时间表达式>)

MINUTE(<日期时间表达式>) SEG(<日期时间表达式>)

功能:HOUR()从指定的日期时间表达式中返回小时部分(24小时制)。

MINUTE()从指定的日期时间表达式中返回分钟部分。 SEG()从指定的日期时间表达式中返回秒数部分。 这三个函数的值都为数值型。

㈣.数据类型转换函数

数据类型转换函数的功能是将某一种类型的数据转换成另一种类型的数据。

1.数值转换成字符串

格式:STR(<数值表达式>,〔,<长度>〕〔,<小数位数>〕))

功能:将<数值表达式>的值转换成字符串,转换时根据需要自动进行四舍五入。返回字符串的理想长度L应该是<数值表达式>值的整数部分位数加上小数位数>值,再加上1位小数点。如果<长度>值大于L,则字符串加前部空格以满足规定的<长度>

要求;如果<长度>值大于等于<数值表达方式>值的整数部分位数(包括负号)但又小于L,则优先满足整数部分而自动调整小数位数;如果<长度>值小于<数值表达方式>值的整数部分位数,

则返回一串星号(*)。

<小数位数>的默认值为0,<长度>默认值为10。

2.字符串转换成数值

格式:VAL(<字符表达方式>)

功能:将由数字符号(包括正负号、小数点)组成的字符型数据转换成响应的数值型数据。若字符串内出现非字符,那么只转换前面部分;若字符串的首字符不是数字符号,则返回数值零,但忽略前部空格。

3.字符串转换成日期或日期时间

格式:CTOD(<字符表达式>)

CTOT(<字符表达式>)

功能:CTOD将<字符表达式>值转换成日期数据。

CTOT将<字符表达式>值转换成日期时间型数据。

字符串中的日期部分格式要与SET DATE TO命令设置的格式一致。其中的年份可以用四位,也可以用两位。若用两位,则世纪由SET CENTURY TO语句指定。

4.日期或日期时间转换成字符串

格式:DTOC(<日期表达式><日期时间表达式>[,1])

TTOC(<日期时间表达式>[,1])

功能:DTOC() 将日期型数据或日期时间数据的日期部分转换策划能够字符串。

TTOC()将日期时间数据转换成字符串。

字符串中日期部分的格式与SET DATE TO语句的设置和SET CENTURY ON/OFF(ON为四位数年份,OFF为两位数年份)语句的设置有关。时间部分格式受SET HOURS TO 12/24语句的设置影响。

对DTOC()来说,如果使用选项1,则字符串的格式总是为YYYMMDD,共8个字符。 对TTOC()来说,如果使用选项1,则字符串的格式总是为YYYYMMDDHHMMSS,采用24小时制,共14个字符。

5.宏替换函数

格式:&<字符型变量>[.]

功能:替换出字符型变量的内容,即&的值是变量中的字符串。如果该函数与其后的字符无明确分界,则要用“.”作函数结束标识。宏替换可以嵌套使用。

㈤.测试函数

1.值域测试函数

格式:BETWEEN(<表达式T>,<表达式L>,<表达式H>)

功能:判断一个表达式的值是否介于另外两个表达式的值之间。当<表达式T>值大于等于<表达式L>且小于等于<表达式H>时,函数值为逻辑真(.T.),否则函数值为逻辑假(.F.)。

如果<表达式L>或<表达式H>有一个是NULL值,那么函数值也是NULL值。

该函数的自变量类型既可以是数值型,也可以是字符型、日期型、日期时间型、浮点型、整型、双精度型和货币型。但三个自变量的数据类型要一致。

2.空值(NULL)值测试函数

格式:ISNULL(<表达式>)

功能:判断一个表达式的运算结果是否为NULL值,若是NULL值返回逻辑真(.T.),否则返回逻辑假(.F.)。

3.空值测试函数

格式:EMPTY(<表达式>)

功能:根据指定表达式的运算结果是否为“空”值,返回逻辑真(.T.)或逻辑假(.F.)。

首先要注意,这里所指的“空”值与NULL值是两个不同的概念。函数EMPTY(.NULL.)的返回值为逻辑假(.F.)。其次,该函数自变量表达式的类型除了可以是数值型以外,还可以是字符型、逻辑型、日期型等类型。不同类型数据的“空”值,有不同的规定。

4.数据类型测试函数

格式:VARTYPE(<表达式>[,<逻辑表达式>])

功能:测试<表达式>的类型,返回一个大写字母,函数值为字符型。

5.表文件尾测试函数

格式:EOF(<工作区号><表别名>)) 功能:测试指定表文件中的记录指针是否指向文件尾,若是返回逻辑真.T.。否则返回逻辑假.F.。表文件尾是指最后一条记录的后面位置。若缺省自变量,则测试当前表文件。

若在指定工作区上没有打开表文件,函数返回逻辑假.F.。若表文件中不包含任何记录,函数返回逻辑真.T.。

6.表文件首测试函数

格式:BOF(<工作区号>1<表别名>))

功能:测试当前表文件(若缺省自变量)或指定表文件中的记录指针是否指向文件首,若是返回逻辑真.T.,否则返回逻辑假.F.。若表文件首是指第一条记录的前面位置。

若指定工作区上没有打开表文件,函数返回逻辑假.F.。若表文件中不包含任何记录,函数返回逻辑真.T.。

7.记录号测试函数

格式:RECNO(<工作区号><表别名>))

功能:返回当前表文件(若缺省自变量)或指定表文件中当前记录(记录指针所指记录)的记录号。如果指定工作区上没有打开表文件,函数值为0。如果记录指针指向文件尾,函数值为表文件中的记录数加1。如果记录指针指向文件首,函数值为表文件中第一条记录的记录号。

8.记录个数测试函数

格式:RECCOUNT(<工作区号><表别名>)

功能:返回当前表文件(若缺省自变量)或指定表文件中的记录个数。如果指定工作区上没有打开表文件,函数值为0。

RECCOUNT()返回的是表文件中物理上存在的记录个数。不管记录是否被逻辑删除以及SET DELETED的状态如何,也不管记录是否过滤(SET FLTER),该函数都会把它们考虑在内。

9.条件测试函数

格式:F(<逻辑表达式>,<表达式1>,<表达式2>)

功能:测试<逻辑表达式>的值,若为逻辑真 .T.,函数返回<表达式1>的值;若为逻辑假.F.,函数返回<表达式2>的值。<表达式1>和<表达式2>的类型不要求相同。

10.记录删除测试函数

格式:DELETED(<表的别名><工作区号>))

功能:测试指定的表,或在指定工作区中所打开的表,记录指针所指的当前记录是否有删除标记“*”,若有为真,否则为假。若缺省自变量,则测试当前工作区中所打开的表。

1.1.4 Visual FoxPro数据库及其操作

考核知识点一 Visual FoxPro数据库及其建立 ㈠.建立数据库

建立数据库的常用方法有以下三种:

在项目管理器中建立数据库; 通过“新建”对话框建立数据库; 使用命令交互建立数据库。

㈡.使用数据库

在数据库中建立表或使用数据库中的表时,都必须先打开数据库,与建立数据库类似,常用的打开数据库的方式也有三种;

在项目管理器中打开数据库; 通过“打开”对话框打开数据库; 使用命令打开数据库。

㈢.修改数据库

可以用以下三种方法打开数据库设计器; 从项目管理器中打开数据库设计器; 通过“打开”对话框打开数据库设计器; 使用命令打开数据库设计器。

㈣.删除数据库

Visual FoxPro的数据库文件并不真正含有数据库表或其他数据库对象,只是在数据库文件中登录了相关的条目信息,表、视图或其他数据库对象是独立存放在磁盘上的。所以不管是“移去”

还是“删除”操作,都没有删除数据库中的表等对象,删除数据库时同时删除表等对象,需要使用命令方式删除数据库。删除数据库的命令是DELETE DATABASE,具体命令格式如下:

DELETE DATABASE DatabaseName ┃? [DELETETABLES][RECYCLE] 其中各参数和选项的含义如下:

DatabaseName:给出要从磁盘上删除的数据库文件名,此时要删除的数据库必须处于关闭状态;如果使用问号“?”,则会打开“删除”对话框请用户选择要删除的数据库文件。

DELETETABLES:选择该选项则在删除数据库文件的同时从磁盘上删除该数据库所含的表(.DBF文件)等。

RECYCLE:选择该选项则将删除的数据库文件和表文件等放入Windows的回收站中,如果需要的话,还可以还原它们。

注意:如果SETSAFETY设置值为ON,则Visual FoxPro会提示是否要删除数据库,否则不出现提示,直接进行删除操作。

考核知识点二 建立数据库表 ㈠.在数据库中建立表

1.字段名

字段名即关系的属性名或表的更名。一个表由若干列(字段)构成,每个列都必须有一个惟一的名字——字段名,将来可以通过字段名直接引用表中的数据。在中文Visual FoxPro中字段名可以是汉字或合法的西文标识符。

2.字段类型和宽度

字段的数据类型决定存储在字段中的值的数据类型,数据类型通过宽度限制可以决定存储数据的数量或精度。

3.空值

字段有“NULL”选项,它表示是否允许字段为空值。空值也是关系数据库中的一个重要念,在数据库中可能会遇到尚未存储数据的字段,这时的空倬与空(或空白)字符串、数值0等具有不同的含义,空值就是缺值或还没有确定值,不能把它理解为任何意义的数据。比如表示价格的一个字段值,空值表示没有定价;而数值0可能表示免费。

一个字段是否允许为空值与实呼应用有关,比如作为关键字㈤字段是不允许为空值的,而那些在插入记录肘允许暂缺的字段值往往允许为空值。

4.字段有效性组框

在字段有效性组框中可以定义字段的有效性规则、违反却则时的提示信息和字段的默认值。

5.显示组框

在显示组框下可以定义字段显示的格式、输入的掩码和字段的标题。

6.字段注释

可以为每个字段添加注释,便于日后或其他人对数据库进行维护。

㈡.修改表结构

1.修改已有的字段

用户可以直接修改字段的名称、类型和宽度。

2.增加新字段

如果要在原有的字段后增加新的字段,则直接将光标移动到最后,然后输入新的字段名、定义类型和宽度。

如果要在原有的字段中间插入新字段,则直接将光标移到最后,然后输入新的字段的位置,然后用鼠标单击“插入”命令按钮,这时会插入一个新字段,随后输入新的字段名、定义类型和宽度。

3.删除不用的字段

如果要删除某个字段,首先将光标定位在要删除的字段上,然后用鼠标单击“删除”命令按钮。

考核知识点三 表的基本操作 ㈠.数据记录操作

1.浏览操作

常用的浏览操作如下: 下一记录:下箭头键: 前一记录:上箭头键; 下一页:Page Down键; 前一页:Page Up键; 下一字段:Tab键;

前一字段:Shift+Tab键。

2.修改记录

要在浏览器中修改记录的值,只需要将光标定位在要修改的记录和字段值上,然后直接进行修改就可以了。

3.删除记录

在Visual FoxPro中删除记录有逻辑删除和物理删除两种,所谓逻辑删除只是在记录旁做删除标记,必要时还可以去掉删除标记恢复记录;而物理删除才是真正从表中删除记录;物理删除是在逻辑删除的基础上进行的,即物理删除是将那些有删除标记的记录真正删除。

㈡.增加记录的命令

1.APPEND命令

APPEND命令是在表的尾部增加记录,它有两种格式:APPEND或APPEND BLANK。

2.INSERT命令

INSERT命令可以在表的任意位置插入新的记录,它的命令格式是: INSERT[BEFORE][BLANK]

㈢.删除记录的命令

1.设置删除标记的命令

逻辑删除或置删除标记的命令是DELETE,常用格式如下: DELETE [FOR Expressionl]

如果不用FOR短语指定逻辑条件,则只逻辑删除当前一条记录;如果用FOR短语指定了逻辑表达式Expressionl,则逻辑删除使该逻辑表达式为真的所有记录。

2.恢复记录的命令

被逻辑删除的记录可以恢复,恢复记录的命令是RECALL,常用格式如下: RECALL [FOR lExpressionl]

如果不用FOR短语指定逻辑条件,则只恢复当前一条记录,如果当前记录没有删除标记,则该命令什么都不做。如果用FOR短语指定了逻辑表达式Expressionl,则恢复使该逻辑表达式为真的所有记录。

3.物理删除有删除标记的记录

物理删除有删除标记记录的命令是PACK,执行该命令后所有有删除标记的记录将从表中被物理地删除,并且不可能再恢复。

4.物理删除表中的全部记录

使用ZAP命令可以物理删除表中的全部记录,不管是否有删除标记。该命令只是删除全部记录,并没有删除表,执行完该命令后表结构依然存在。

㈣.修改记录的命令

1.用EDIT或CHANGE命令交互式修改 2.用REPLACE命令直接修改

可以使用REPLACE命令直接用指定表达式或值修改记录,REPLACE命令的常用格式是: REPLACE FieldName1 WTHe Expressionl[,FieldName2 WTH eExpression2]

[FOR Expressionl]

该命令的功能是直接利用表达式eExpression的值替换字段FeldName的值,从而达到修改记录的目的。一次可以修改多个字段(eExpressionl,eExpression2...)的值,如果不使用FOR短语,则默认修改的是当前记录;如果使用了FOR短语,则修改逻辑表达式Expressionl为真的所有记录。

㈤.显示记录的命令

显示记录的命令是LIIST和DSPLAY,它们的区别仅在于不使用条件时,LIST默认显示全部记录,而DSPLAY则默认显示当前记录。它们的常用命令格式是:

LIST/DSPLAY [FELDS] FieldiList] [FOR lExpressionl] [OFF]

TO PRNTER [PROMPT] TO FLEF FieldName]

㈥.查询定位命令

1.用GOTO命令直接定位

GOTO和GO命令是等价的,命令格式为: GO nRecordNumber ┃ TOP ┃BOTTOM

确定了当前记录位置之后,可以用SIKP命令向前或向后移动若干条记录位置。

2.SKIP命令的格式是:

SKIP nRecords]

3.用LOCATE命令定位

LOCATE是按条件定位记录位置的命令,常用命令格式是: LOCATE FOR lExpressionl

考核知识点四 索引 ㈠.基本概念

可以在表设计器中定义索引,Visual FoxPro中的索引分为主索、候选索引、惟一索引和普通索引四种。

①主索引; ②候选索引; ③惟一索引;, ④普通索引。

㈡.在表设计器中建立索引

①单项索引;

②复合字段索引。

㈢.用命令建立索引

建立索引的命令是INDEX,具体格式如下:

INDEX ON eExpression TO IDXFileNamel┃TAG TagName OF CDXFileNamel

FOR lExpression][COMPACT] [ASCENDNG][DESCENDNG] [UNQUE][CANDDATE] [ADDTVEl

㈣.使用索引

1.打开索引文件

与表名相同的结构索引在打开表时都能够自动打开,但是对于非结构索引必须在使用之前打开索引文件。打开索引文件的命令格式为:

SET INDEX TO ndexFlelst

2.设置当前索引

尽管结构索引在打开表时都能够自动打开,或者打开了非结构复合索引文件作为主控索引文件,在使用某个特定索引项进行查询或需要记录按某个特定索引项的顺序显示时,则必须用SETORDER命令指定当前索引项,SETORDER命令的常用格式是:

SET ORDERT TO [nIndexNumber┃ [TAG] TagName]

[ASCENDNG][DESCENDNG]

3.使用索引快速定位

用SEEK命令定位。SEEK是利用索引快速定位的命令,常用格式是: SEEK eExpression [ORDER nIndexNumber ┃ [TAG]TagName]

[ASCENDNGDESCENDNG]

4.删除索引

如果某个索引不再使用了则可以删除它,删除索引的办法是在表设计器中使用”索引”选项卡选择并删除索引。使用命令删除结构索引的格式是:

DELETE TAG TagNamel

其中TagNamel指出了要删除的索引名。如果要删除全部索引可以使用命令: DELETE TAG ALL

考核知识点五 数据完整性 ㈠.实体完整性与主关键字

实体完整性是保证表中记录惟一的特性,即在一个表中不允许有重复的记录。在Visual FoxPro中利用主关键字或候选关键字来保证表中的记录惟一,即保证实体惟一性。

如果一个字段的值或几个字段的值能够惟一地标识表中的一条记录,则这样的字段称为候选关键字。在一个表上可能会有几个具有这种特性的字段或字段的组合,这时从中选择一个作为主关键字。

㈡.域完整性与约束规则

建立字段有效性规则比较简单直接的方法仍然是在表设计器中建立,在表设计器的“字段”选项卡中有一组定义字段有效 性规则的项目,它们是“规则”(字段有效性规则、“信息”(违背字段有效性规则时的提示信息)、“默认值”(字段的默认值)三项。具体操作步骤如下:

①首先单击选择要定义字段有效性规则的字段;

②然后分别输入和编辑规则、信息及默认值等项目。

字段有效性规则的项目可以直接输入,也可以单击输入框旁的按钮打开表达式生成器对话框编辑、生成相应的表达式。

㈢.参照完整性与表之间的关联

参照完整性与表之间的联系有关,它的大概含义是:当插入、删除或修改一个表中的数据时,通过参照引用相互关联的另一个表中的数据,来检查对表的数据操作是否正确。假如一个职工记录由仓库号、职工号和工资三个字段构成,当插入一条这样的记录时,如果没有参照完整性检查,则可能会插入一个并不存在的仓库的职工记录,这时插入的记录肯定是错误的。如果在插入仓库的职工记录之前,能够进行参照完整性检查,检查指定职工记录的仓库号在仓库表中是否存在,则可以保证插入记录的合法性。

参照完整性是关系数据库管理系统的一个很重要的功能。在Visual FoxPro中为了建立参照完整性,必须首先建立表之间的联系(在中文版Visual FoxPro中称为关系)。

①建立表之间的联系; ②设置参照完整性约束。

考核知识点六 自由表 ㈠.数据库表与自由表

当没有数据库打开时,建立的表就是自由表。建立自由表的方法有:

①在项目管理器中,从“数据”选项卡中选择“自由表”选项,然后选择“新建”命令按钮打开“表设计器”建立自由表。

②确认当前没有打开的数据库,选择“文件”菜单下的“新建”命令,从“新建”对话框中的“文件类型”组框中选择“表”选项,然后单击“新建文件”按钮打开“表设计器”建立自由表。

③确认当前没有打开的数据库,使用CREATE命令打开“表设计器”建立自由表。

㈡.将自由表添加到数据库

在数据库设计器中可以从“数据库”菜单中选择“添加表”,然后从“打开”对话框中选择要添加到当前数据库的自由表。

另外,还可以用ADD TABLE命令添加一个自由表到当前数据库中,具体命令格式是: ADD TABLE TableName ┃? ┃[NAME LongTableName]

㈢.从数据库中移出表

当数据库不再使用某个表,而其他数据库要使用该表时,必须将该表从当前数据库中移出,使之成为自由表。在项目管理器中,将数据库下的表展开,并选择所要移出的具体表,接着单“移去”按钮,从中选择“移去”即可。

另外,还可以用REMOVETABLE命令将一个表从数据库中移出,具体命令格式是: REMOVE TABLE TableName ┃ ? [DELETE][RECYCLE]

考核知识点七 多个表的同时使用

㈠.多工作区的概念

指定工作区的命令是:

SELECT nWorkArea┃cTableAlias

㈡.使用不同工作区的表

除了可以用SELECT命令切换工作区使用不同的表外,也允许在一个工作区中使用另外一个工作区中的表,实际上,前面介绍过的某些命令有相关的选项,即短语:

IN nWorkArea ┃ cTableAlias

其中用nWorkArea指定工作区号或用cTableAlias指定表名或表的别名。

㈢.表之间的关联

虽然永久联系在每次使用表时不需要重新建立,但永久联系不能控制不同工作区中记录指针的联动。所以在开发Vsual FoxPro应用程序时,不仅需用永久联系,有时也需使用能够控制表间记录指针关系的临时联系。这种临时联系称为关联,使用SET RELATON命令建立。

SET RELATION命令的常用格式是:

SET RELATION TO eExpressionl INTO nWorkAreal ┃ cRableAliasl

考核知识点八 排序

索引可以使用产按照某种顺序浏览或查找表中的记录,这时的顺序是逻辑的,是通过索引关键字实现的。FoxBase数据库从一开始就提供了一种物理排序的命令,它可以将表中的记录物理地按顺序重新排列。物理排序的命令是SORT,常用格式如下:

SORT TO TableName ON FeldNamel [/A┃/D][/C] [,FeldName2[/A┃/D][/C]

[ASCENDNG┃DESCENDNG] [FOR lExpressionl] [FELDS FieldNameList]

1.1.5 关系数据库标准语言SQL

考核知识点一 SQL概述

SQL语言具有如下主要特点:

①SQL是一种一体化的语言,它包括了数据定义、数据查询、数据操纵和数据控制等方面的功能,它可以完成数据库活动中的全部工作。以前的非关系模型的数据语言一般包括存储模式描述语言、概念模式描述语言、外部模式描述语言和数据操纵语言等等,这种模型的数据语言,一是内容多,二是掌握和使用起来都不像SQL那样简单、实用。

②SQL语言是—种高度非过程化的语言,它没有必要—步步地告诉计算机“如何”去做,而只需描述清楚用户要“做什么”,SQL语言就可朗夸要求交给系统,自动完成全部工作。

③SQL语言非常简洁。虽然SQL语言功能很强,但它只有为数不多的几条命令,另外SQL的语法也非常简单,它很接近英语语言,因此容易学习、掌握。

④SQL语言可以直接以命令方式交互使用,也可以嵌入到程序设计语言中以程序方式使用。现在很多数据库应用开发工具都将SQL语言直接融入到自身的语言之中,使用起来更方便,Visual FoxPro就是如此。这些使用方式为用户提供了灵活的选择余地。此外,尽管SQL的使用方式不同,但SQL语言的语法基本是一致的。

考核知识点二 查询功能

SQL的核心是查询。SQL的查询命令也称为SELECT命令,它的基本形式由SELECT—FROM—WHERE查询块组成,多个查询块可以嵌套执行。

㈠.简单查询

这样的查询由SELECT和FROM短语构成无条件查询,或由SELECT、FROM和WHERE短语构成条件查询。

㈡.简单的连接查询

连接是关系的基本操作之一,连接查询是一种基于多个关系的查询。

㈢.嵌套查询

这类查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。

㈣.几个特殊运算符

在进行更复杂、涉及更多关系的检索之前,可以在SQLSELECT中使用的几个特殊运算符,它们是BETWEEN?AND?和LIKE等。

㈤.排序

使用SQL SELECT可以将查询结果排序,排序的短语是ORDER BY,具体格式如下: ORDER BY Order_ltem [ASC┃DESC],Order_ltem [ASC┃DESC]...]

从中可以看出,可以按升序(ASC)或降序(DESC)排序,允许按一列或多列排序。

㈥.简单的计算查询

SQL语言是完备的,也就是说,只要数据是按关系方式存入数据库的,就能构造合适的SQL命令把它检索出来。事实上,SQL不仅具有一般的检索能力,而且还有计算方式的检索,比如检索职工的平均工资、检索某个仓库中职工的最高工资值等。用于计算检索的函数有:

①COUNT——计数; ②SUM——求和;

③AVG——计算平均值; ④MAX——求最大值; ⑤MIN——求最小值。

这些函数可以用在SELECT短语中对查询结果进行计算。

㈦.分组与计算查询

利用GROUP BY子句进行分组计算查询使用得更加广泛。GROUP BY短语的格式如下:GROUP BY GroupColumn,GroupColumn..][HAVING filtercondition] 可以按一列或多列分组,还可以用HAVING进一步限定分组的条件。

㈧.利用空值查询

SQL支持空值,当然也可以利用空值进行查询。

㈨.别名与自连接查询

在连接操作中,经常需要使用关系名作前缀,有时这样显得很麻烦。因此,SQL允许在FROM短语中为关系名定义别名,式为:

<关系名><别名>

㈩.内外层互相关嵌套查询

有时需要内、外层互相关的查询,这时内层查询的条件需要外层查询提供值,而外层查询的条件需要内层查询的结果。

(十一).使用量词和谓词的查询

前面已经使用过和嵌套查询或子查询有关的N和NOTN运算符,除此之外还有两类和子查询有关的运算符,它们有以下两种形式:

<表达式><比较运算符> [ANY┃ALL┃SOME] (子查询) [NOT] EXISTS (子查询)

ANY、ALL和SOME是量词,其中ANY和SOME是同义词,在进行比较运算时只要子查询中有一行能使结果为真,则结果就为真;而ALL则要求子查询中的所有行都使结果为真时,结果才为真。

EXISTS是谓词,EXISTS或NOT EXISTS是用来检查在子查询中是否有结果返回,即存在元组或不存在元组。

(十二).超联接查询

在新的SQL标准中还支持两个新的关系联接运算符,它们与我们原来所了解的等值联接和自然联接不同。原来的联接是只有满足联接条件,相应的结果才会出现在结果表中;而这两个新的联接运算是,首先保证一个表中满足条件的元组都在结果表中,然后将满足联接条件的元组与另一个表的元组进行联接,不满足联接条件的则应将来自另一表的属性值置为空值。

在一般SQL中超联接运算符是“=和“*=”其中:“*”称为左联接,含义是在结果表中包含第一个表中满足条件的所有记录;如果有在联接条件上匹配的元组,则第二个表返回相应值,否则第二个表返回空值;而“=*”称为右联接,含义是在结果表中包含第二个表中满足条件的所有记录;如果有在联接条件上匹配的元组,则第一个表返回相应值,否则第一个表返回空值。

(十三).集合的并运算

SQL支持集合的并(UNION)运算,即可以将两个SELECT语句的查询结果通过并运算合并成一个查询结果。为了进行并运算,要求这样的两个查询结果具有相同的字段个数,并且对应字段的值要出自同一个值域,即具有相同的数据类型和取范围。 (十四)Visual FoxPro中SQL SELECT的几个特殊选项

①显示部分结果;

②将查询结果存放到数组中

③将查询结果存放在临时文件中; ④将查询结果存放到永久表中; ⑤将查询结果存放到文本文件中; ⑥将查询结果直接输出到打印机。

考核知识点三 操作功能

SQL的操作功能是指对数据库中数据的操作功能,主要包括数据的插入、更新和删除三个方面的内容。

㈠.插入

Visual FoxPro支持两种SQL插入命令的格式,第一种格式是标准格式,第二种格式是Visual FoxPro的特殊格式。

第一种格式:

INSERT INTO dbf_name[([fnamel][,fname2,?])] VALUES(eExpressionl,eExpression2,┉)) 第二种格式:

INSERT INTO dbf_name FROM ARRAY ArrayName┃FROM MEMVAR

㈡.更新

SQL的数据更新命令格式如下: UPDATE TableName

SET Column_Namel=eExpressionl[,Column_Name2=eExpression2...] WHERE Condition

一般使用WHERE子句指定条件,以更新满足条件的一些记录的字段值,并且一次可以更新多个字段;如果不使用WHERE子句,则更新全部记录。

㈢.删除

SQL从表中删除数据的命令格式如下:

DELETE FROM TableName [WHERE Condition]

这里FROM指定从哪个表中删除数据,WHERE指定被删除的记录所满足的条件,如果不使用WHERE子句,则删除该表中的全部记录。

考核知识点四 定义功能

标准SQL的数据定义功能非常广泛,一般包括数据库的定义、表的定义、视图的定义、存储过程的定义、规则的定义和索引的定义等若干部分。

㈠.表的定义

在第四章介绍了通过表设计器建立表的方法,在Visual FoxPro中也可以通过SQL的CREATE TABLE命令建立表。

㈡.表的删除

删除表的SQL命令是: DROP TABLE table_name

DROP TABLE直接从磁盘上删除table_name所对应的.dbf文件。如果tab_name是数据库中的表并且相应的数据库是当前数据库,则从数据库中删除了表;否则虽然从磁盘上删除了.dbf文件,但是记录在数据库.dbc文件中的信息却没有删除,此后会出现错误提示。所以要删除数据库中的表时,最好应使数据库是当前打开的数据库,在数据库中进行操作。

㈢.表结构的修改

修改表结构的命令是ALTERTABLE,该命令有三种格式。

格式1:ALTER TABLE TableNamel ADD┃ALTER[COLUMN] FieldNamel FeldType [(nFieldWidth[,nPrecson])][NULL┃NOT NULL]

[CHECK lExpression [ERROR cMessageText]][DEFAULT eExpressionl] [PRMARY KEY┃UNIQUE]

[REFERENCES TableName2 [TAG TagNamel]]

该格式可以添加(ADD)新的字段或修改(ALTER)已有的字段,它的句法基本可以与CREATETABLE的句法相对应。

格式2:ALTER TABLE TableNamel ALTER [COLUMN] [FieldName2 [NULL┃NOT NULL]

[SET DEFAUL TeExpressoa2]]SET CHECK lExpression2 [ERROR cMessageText2]] [DROP DEFAULT][DROP CHECK]

从命令格式可以看出,该格式主要用于定义、修改和删除有效性规则和默认值定义。

㈣.视图的定义

在Visual FoxPro中视图是一个定制的虚拟表,可以是本地的、远程的或带参数的。视图可引用一个或多个表,或者引用其他视图。视图是可更新的,它可引用远程表。

在关系数据库中,视图也称作窗口,即视图是操作表的窗口,可以把它看做是从表中派生出来的虚表。它依赖于表,但不独立存在。

视图是根据对表的查询定义的,其命令格式如下:

CREATE VIEW view_name [(columm_name[,column_name]?)]

AS select_statement

其中select—statement可以是任意的SELECT查询语句,它说明和限定了视图中的数据;当没有为视图指定字段名(column_name)时,视图的字段名将与select_statement中指定的字段名或表中的字段名同名。

1.1.6 查询与视图

考核知识点一 查询

㈠.查询的概念

查询是从指定的表或视图中提取满足条件的记录,然后按照想得到的输出类型定向输出查询结果,诸如浏览器、报表、表、标签等。

㈡.查询设计器

建立查询的方法很多:

①可以用CREATE QUERY命令打开查询设计器建立查询;

②可以选择“文件”菜单下的“新建”命令,或单击“常用”工具栏上的“新建”按钮,打开“新建”对话框,然后选择“查询”并单击“新建文件”打开查询设计器建立查询;

③可以在项目管理器的“数据”选项卡下选择“查询”,然后单击“新建”命令按钮打开查询设计器建立查询;

④如果读者熟悉SQL SELECT,还可以直接编辑 .qbr 文件建立查询。

考核知识点二 视图 ㈠.视图的概念

视图是操作表的一种手段,通过视图可以查询表,也可以更新表。视图是根据表定的,因此视图基于表,而视图可以使应用更灵活,因此它又超越表。视图是数据库中的一个特有功能,只有在包含视图的数据库打开时,才能使用视图。

㈡.建立视图

可以使用以下方法建立视图:

①用CREATE VIEW命令打开视图设计器建立视图;

②选择“文件”菜单下的“新建”命令,或单击“常用”工具栏上的“新建”按钮,打开“新建”对话框,然后选择“视图”并单击“新建文件”打开视图设计器建立视图;

③在项目管理器的“数据”选项卡下将要建立视图的数据库分支展开,并选择“本地视图”或“远程视图”,然后单击“新建”命令按钮打开视图设计器建立视图;

④如果熟悉SQL SELECT,还可以直接用建立视图的SQL命令CREATE VIEW?AS?建立视图。

㈢.远程视图与连接

为了建立远程视图,必须首先建立连接远程数据库的“连接”,“连接”是Visud FoxPro数据库中的一种对象。

①定义数据源和连接; ②建立连接; ③设计远程视图。

㈣.视图与数据更新

①指定可更新的表; ②指定可更新的字段; ③检查更新合法性; ④使用更新方式。

㈤.使用视图

1.视图操作

视图允许以下操作:

①在数据库中使用USE命令打开或关闭视图; ②在“浏览器”窗口中显示或修改视图中的记录; ③使用SQL语句操作视图;

④在文本框、表格控件、表单或报表中使用视图作为数据源等。

2.使用视图

可以在“项目管理器”中“浏览”视图,也可以通过命令来使用视图。

1.1.7 程序设计基础

考核知识点一 程序与程序文件 ㈠.程序的概念

程序是能够完成一定任务的命令的有序集合。这组命令被存放在称为程序文件或命令文件的文本文件中。当运行程序时,系统会按照一定的次序自动执行包含在程序文件中的命令。与在命令窗口逐条输入命令相比,采用程序方式有如下好处:

①可以利用编辑器,方便地输入、修改和保存程序; ②可以用多种方式、多次运行程序; ③可以在一个程序中调用另一个程序。

㈡.程序文件的建立与执行

1.程序文件的建立与修改

要建立程序文件,可以按以下步骤操作: ①打开文本编辑窗口;

②在文本编辑窗口中输入程序内容; ③保存程序文件。

要打开、修改程序文件,可按下列方法操作:

①在“文件”菜单中选择“打开”命令,弹出“打开”对话框 ②在“文件类型”列表框中选择“程序”;

③在文件列表框中选定要修改的文件,并单击“确定”按钮;

④编辑修改后,从“文件”菜单中选择“保存”命令或按Ctrl+W键保存文件。若要放弃本次修改,可从“文件”菜单中选择“还原”命令或按Ese键。

2.执行程序文件

菜单方式:

①从“程序”菜单中选择“运行”命令,打开“运行”对话框;

②从文件列表框中选择要运行的程序文件,并单击“运行”命令按钮。 采用此方式运行程序文件时,系统会自动将默认的盘和目录设置为程序文件所在的盘和目录。 命令格式:

DO<文件名>

该命令既可在命令窗口发出,也可以出现在某个程序文件中,这样就使得一个程序在执行的过程中还可以调用执行另一个程序。

当程序文件被执行时,文件中包含的命令将被依次执行,直到所有的命令被执行完毕,或者执行到以下命令:

①CANCAL:终止程序运行,清除所有的私有变量,返回命令窗口; ②DO:转去执行另一个程序;

③RETURN:结束当前程序的执行,返回到调用它的上级程序,若无上级程序则返回到命令窗口;

④QUIT退出Visual FoxPro系统,返回到操作系统。

㈢.简单的输入输出命令

1.INPUT命令

命令格式:

INPUT [<字符表达式>] TO <内存变量>

该命令等待用户从盘输入数据,用户可以输入任意合法的表达式。当用产以回车键结束输入时,系统将表达式的值存入指定的内存变量,程序继续运行。

功能注释:

①如果选用<字符表达式>,那么系统会首先显示该表达式的值,作为提示信息;

②输入的数据可以是常量、变量,也可以是更为一般的表达式。但不能不输入任何内容直接按回车键;

③输入字符串时必须加定界符,输入逻辑型常量时要用圆点定界(如。如.F.),输入日期时间型常量时要用大括号(如{^2001—03—011})。

2.ACCEPT命令

命令格式:

ACCEPT [<字符表达式>] TO <内存变量>

该命令等待用户从键盘输入字符串。当用户以回车键结束输入时,系统将该字符串存入指定的内存变量,程序继续运行。

功能注释:

①如果选用<字符表达式>,那么系统会首先显示该表达式的值,作为提示信息;

②该命令只能接收字符串。用户在输入字符串时不需要加定界符;否则,系统会把定界符作为字符串本身的一部分。

③如果不输入任何内容而直接按回车键,系统会把空串赋给指定的内存变量。

3.WAIT命令

命令格式:

WalT [<字符表达式>] TO <内存变量>] [WINDOW [AT <行>,<列>]] [NOWAIT][CLEARNOCLEAR][TIMEOUT <数值表达式>]

该命令显示字符表达式的值作为提示信息,暂停程序的执行,直到用户按任意键或单击鼠标时继续程序的执行。

功能注释:

①如果<字符表达式>值为空串,那么不会显示任何提示信息。如果没有指定<字符表达式>,则显示默认的提示信息“按任意键继续...”。

②<内存变量>用来保存用户键入的字符,其类型为字符型。若用户按的是Enter键或单击了鼠标,那么<内存变量>中保存的将是空串。若不选TO<内存变量>短语,输入的单字符不保留。

③一般情况下,提示信息被显示在Visual FoxPro主窗口或当前用户自定义窗口里。如果指定了WINDOW子句,则会出现一个WAT提示窗口,用以显示提示信息。提示窗口一般位于主窗口的右上角,也可用AT短语指定其在主窗口的位置。

④若选用NOWIA短语,系统将不等待用户按键,直接往下执行。

⑤若选用NOCLEAR短语,则不关闭提示窗口,直到用户执行下一条WAIT WINDOW命令或WAIT CLEAR命令为止。

⑥TIMEOUT子句用来设定等待时间(秒数)。一旦超时就不再等待用户按键,自动往下执行。

考核知识点二 程序的基本结构 ㈠.选择结构

支持选择结构的语句包括条件语句和分支语句。

1.条件语句

语句格式: IF<条件>

<语句序列1>

ELSE

<语句序列2> ENDIF

该语句根据<条件>是否成立从两组代码中选择一组执行。

2.分支语句

分支语句实现一种扩展的选择结构,它可以根据条件从多组代码中选择一组执行。 语句格式: DO CASE

CASE<条件1>

<语句序列1>

CASE<条件2>

<语句序列2>

CASE<条件n>

<语句序列n>

[OTHERWISE

<语句序列n+1>]

ENDCASE

语句执行时,依次判断CASE后面的条件是否成立。当发现某个CASE后面的条件成立时,就执行该CASE和下一个CASE之间的命令序列,然后执行ENDCASE后面的命令。如果所有的条件都不成立,则执行OTHERWSE与ENDCASE之间的命令序列,然后转向ENDCASE后面的语句。

㈡.循环结构

1.DOWHILE—ENDDO语句

语句格式:

DO WHILE<条件> <语句序列1> [LOOP]

<语句序歹U2> [EXIT]

<语句序列3>

ENDDO

2.FOR—ENDFOR语句

该语句通常用于实现循环次数已知情况下的循环结构。 语句格式:

FOR<循环变量>=<初值>TO<终值>STEP<步长>]

<循环体> ENDFOR┃NEXT

3.SCAN—ENDSCAN语句

语句格式:

SCAN<范围>]FOR<条件1>]┃[WHLE<条件2>] <循环体>

ENDSCAN

执行该语句时,记录指针自动、依次地在当前表的指定范围内满足条件的记录上移动,对每一条记录执行循环体内的命令

考核知识点三 多模块程序 ㈠.模块的定义和调用

PROCEDURE┃FUNCTION<过程名> <命令序列>

[RETURN<表达式>] [ENDPROC┃ENDFUNC] 模块调用的格式有两种: 格式1:使用DO命令

DO <文件名>┃<过程名> 格式2:在名字后加一对小括号:

<文件名>┃<过程名>()

㈡.参数传递

接收参数的命令有PARAMETERS和LPARAMETERS,它们的格式如下 PARAMETERS<形参变量1>,<形参变量2>?] LPARAMETERS<形参变量1>,<形参变量2>?] 调用模块程序的格式为:

格式1:DO<文件名><过程名>WTH<实参1>,<实参2>, 格式2:<文件名><过程名>(<实参1>,<实参2>,?])

㈢.变量的作用域

1.公共变量

在任何模块中都可使用的变量称为公共变量。公共变量要先建立后使用,公共变量可用PUBLC命令建立:

PUBLC<内存变量表>

该命令的功能是建立公共的内存变量,并为它们赋初值逻辑假 .F.。

公共变量一旦建立就一直有效,即使程序运行结束返回到命令窗口也不会消失。只有当执行CLEAR MEMORY、RE_LEASE、QUT等命令后,公共变量才被释放。

在命令窗口中直接使用而由系统自动隐含建立的变量也是公共变量。

2.私有变量

在程序中直接使用(没有通过PUBLIC和LOCAL命令事先声明)而由系统自动隐含建立的变量都是私有变量。私有变量的作用域是建立它的模块及其下属的各层模块。一旦建立它的模块程序运行结束,这些私有变量将自动清除。

3.局部变量

局部变量只能在建立它的模块中使用,不能在上层或下层模块中使用。当建立它的模块程序运行结束时,局部变量自动释放。局部变量用LOCAL命令建立:

LOCAL<内存变量表>

该命令建立指定的局部内存变量,并为它们赋初值逻辑假.F.。由于LOCAL与LOCATE前四个字母相同,所以这条命令的命令动词不能缩写。

局部变量要先建立后使用。

考核知识点四 程序调试 ㈠.调试器环境

调用调试器的方法一般有两种:

①选择“工具”菜单中的“调试器”命令 ②在命令窗口输入DEBUG命令。

㈡.设置断点

可以设置以下四种类型的断点:

类型1:在定位处中断:可以指定一代码行,当程序调试执行到该行代码时中断程序运行。 类型2:如果表达式值为真则在定位处中断:指定一代码行以及一个表达式,当程序调试执行到该行代码时如果表达式的值为真,就中断程序运行。

类型3:当表达式值为真时中断:可以指定—个表达式,在程序调试执行过程中,当该表达式值改成逻辑真.T.时,中断程序运行。

类型4:当表达式值改变时中断:指定—个表达式,在程序调试执行过程中,当该表达式值改变时中断程序行动。

㈢.调试菜单

“调试”菜单包含执行程序、选择执行方式、终止程序执行、修改程序以及调整程序执行速度等到命令。下面是各命令的具体功能。乱褪鹗窃令。

①运行:执行在跟踪窗口中打开的程序。如果在跟踪窗口里还没有打开程序,那么选择该命令将会打开“运行”对话框。当用户从对话框中指定一个程序后,调试器随即执行此程序,并中断于程序的第一条可执行代码上。

②继续执行:当程序执行被中断时,该命令出现在菜单中。选择该命令可使程序在中断处继续往下执行。

③取消:终止程序的调试执行,并关闭程序。

④定位修改:终止程序的调试执行,然后在文本编辑窗口打开调试程序。

⑤跳出:以连续方式而非单步方式继续执行被调用模块程序中的代码,然后在调用程序的调用语句的下一行处中断。

⑥单步:单步执行下一行代码。如果下一行代码调用了过程或者方法程序,那么该过程或者方法程序在后面执行。

⑦单步跟踪:单步执行下一行代码。

⑧运行到光标处:从当前位置执行代码直至光标处中断。光标位置可以在开始时设置,也可以在程序中断时设置。

⑨调速:打开”调整运行速度”对话框,设置两代码行执行之间的延迟秒数。 ⑩设置下一条语句:程序中断时选择该命令,可使光标所在行成为恢复执行后要执行的语句。

1.1.8 表单设计与应用

考核知识点一 面向对象的概念 ㈠.对象与类

1.对象(Object)

客观世界里的任何实体都可以被看做是对象。对象可以是具体的物,也可以指某些概念。

2.类(Class)

类和对象关系密切,但并不相同。类是对一类相似对象的性质描述,这些对象具有相同的性质:相同种类的属性以及方法。类好比是一类对象的模板,有了类定义后,基于类就可以生成这类对象中任何一个对象。这些对象虽然采用相同的属性来表示状态,但它们在属性上的取值完全可以不同。这些对象一般有着不同的状态,且彼此间相对独立。

㈡.子类与继承

在面向对象的方法里,继承是指在基于现有的类创建新类时,新类继承了现有类里的方法和属性。此外,可以为新类添加新的方法和属性。这里,我们把新类称为现有类的子类,而把现有类称为新类的父类。

一个子类的成员一般包括:

①从其父类继承的成员,包括属性、方法。 ②由子类自己定义的成员,包括属性、方法。

继承可以使在一个父类所作的改动自动反映到它的所有子类上。这种自动更新节省了用户的时间和精力。例如,当为父类添加一个属性时,它的所有子类也将同时具有该属性。同样,当修复了父类中的一个缺陷时,这个修复也将自动体现在它的全部子类中。

考核知识点二 Visual FoxPro基类简介

在Visual FoxPro环境下,要进行面向对象的程序设计或创建应用程序,必然要用到Visual FoxPro系统提供的基础类。

㈠.Visual FoxPro类

Visual FoxPro基类是系统本身内含的、并不存放在某个类库中。用户可以基于基类生成所需要的对象,也可以扩展基类创建自己的类。

㈡.容器与控件

Visual FoxPro中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。

控件是一个可以以图形化的方式显示出来并能与用户进行交互的对象,例如一个命令按钮、一个文本框等。控件通常被放置在一个容器里。容器可以被认为是—种特殊的控件,它能包容其他的控件或容器,例如一个表单、一个表格等。这里把容器对象称为那些被包容对象的父对象。

㈢.事件

事件是一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。事件可以由系统引发,比如生成对象时,系统就引发一个nt事件,对象识别事件,并执行相应的Init事件代码。事件也可以由用户引发,比如用户用鼠标单击程序界面上的一个命令按钮就引发了一个Click事件,命令按钮识别该事件并执行相应的Click事件代码。

考核知识点三 创建与管理表单 ㈠.创建表单

㈡.管理表单属性和方法

可以根据需要向表单中添加任意数量的新属性和新方法,并像引用表单的其他属性和方法那样引用它们。

㈢.常用事件与方法

①Init事件; ②Destroy事件; ③Error事件;

④Load事件; ⑤Unload事件; ⑥GotFocus事件; ⑦Click事件; ⑧DblClick事件; ⑨RightClick事件; ⑩InteractiveChange事件 ⑾Release方法; ⑿Refresh方法; ⒀Show方法; ⒁Hide方法; ⒂SetFocus方法。

考核知识点四 表单设计器 ㈠.表单设计器环境

表单设计器启动后,Visual FoxPro主窗口上将出现“表单设计器”窗口、“表单控件”工具栏、“表单设计器”工具栏以及“表单”菜单。

㈡.控件的操作与布局

1.控件的基本操作

在表单设计器环境下,经常需要对表单上的控件进行移动、改变大小、复制、删除等操作。 ①选定控件; ②移动控件; ③调整控件大小; ④复制控件; ⑤删除控件。

2.控件布局

利用“布局”工具栏中的按钮,可以方便地调整表单窗口中被选控件的相对大小或位置。“布局”工具栏可以通过单击表单设计器工具栏上的“布局工具栏”按钮或选择“显示”菜单中的“布局工具栏”命令打开或关闭。

3.设置Tab键次序

当表单运行时,用户可以按Tab键选择表单中的控件,使标点在控件间移动。控件的Tab次序决定了选择控件的次序。Visual FoxPro提供了两种方式来设置Tab键次序:交互方式和列表方式。

㈢.数据环境

以为表单建立数据环境,数据环境中能够包含与表单有联系的表和视图以及表之间的关系。通常情况下,数据环境中的表或视图会随着表单的打开或运行而打开,并随着表单的关闭或释放而关闭。可以用数据环境设计器来设置表单的数据环境。

①数据环境的常用属性; ②打开数据环境设计器; ③向数据环境添加表或视图; ④从数据环境移去表或视图; ⑤在数据环境中设置关系; ⑥在数据环境中编辑关系; ⑦向表单添加字段。

考核知识点五 常用表单控件 ㈠.标签(Label)控件

标签是用以显示文本的图形控件,被显示的文本在Capton属性中指定,称为标题文本。标签的标题文本不能在屏幕上直接编辑修改,但可以在代码中通过重新设置Caption属性间接修改。标签标题文本最多可包含的字符数目是256。

标签具有自己的一套属性、方法和事件,能够响应绝大多数鼠标事件。可以使用Tablndex属性为标签指定一个Tab次序,但标签并不能获得标点,而是把标点传递给Tab键次序中紧跟着标签的下一个控件。

常用的标签属性: ①Caption属性; ②Alignment属性。

㈡.命令按钮(CommandButton)控件

命令按钮典型地用来启动某个事件代码、完成特定功能,如关闭表单、移动记录指针、打印报表等。

常用的命令按钮控件属性: ①Default属性和Cancel属性; ②Enabled属性; ③Visible属性。

㈢.命令组(CommandGroup)控件

命令组是包含一组命令按钮的容器控件,用户可以单个或作为一组来操作其中的按钮。 在表单设计器中,为了选择命令组中的某个按钮,以便为其单独设置属性、方法或事件,可采用以下两种方法:一是从属性窗口的对象下拉式组合框中选择所需的命令按钮;二是用鼠标右

键单击命令组,然后从弹出的快捷菜单中选择“编辑”命令,这样命令组就进入了编辑状态,用户可以通过鼠标单击来选择某个具体的命令按钮。这种编辑操作方法对其他容器类控件(如选项组控件、表格控件)同样适用。

常用的命令组控件属性: ①ButtonCount属性; ②Buttons属性; ③Value属性。

㈣.文本框(TextBox)控件

文本框是Visual FoxPro里一种常用的控件。用户利用它可以在内存变量、数组元素或非备注型字段中输入或编辑数据。所有标准的Visual FoxPro编辑功能,如剪切、复制和粘贴,在文本框内都可使用。文本框一般包含一行数据。文本框可以编辑任何类型的数据,如字符型、数值型、逻辑型、日期型和日期时间型等。如果编辑的是日期型或日期时间型数据,那么在整个内容被选定的情况下,按“十”或“—”,可以使日期增加一天或减少一天。

常用的文本框控件属性: ①ControlSource属性; ②Value属性;

③PasswordChar属性; ④InputMask属性。

㈤.编辑框(EditBox)控件

与文本框一样,编辑框也用来输入、编辑数据,但它有自己的特点:

①编辑框实际上是一个完整的字处理器,利用它能够选择、剪切、粘贴以及复制正文;可以实现自动换行;能够有自己的垂直滚动条;可以用箭头键在正文里面移动光标。

②编辑框只能输入、编辑字符型数据,包括字符型内存变量、数组元素、字段以及备注字段里的内容。

常用的编辑框控件属性: ①AllowTabs属性; ②HideSelection属性; ③ReadOnly属性; ④ScrollBars属性; ⑤SelStart属性; ⑥SelLength属性; ⑦SelText属性。

㈥.复选框(CheckBox)控件

一个复选框用于标记一个两值状态,如真(.T.)或假(.F.)。当处于“真”状态时,复选框中显示一个对勾(√);否则,复选框内为空白。

常用的复选框控件属性 ①Caption属性;

本文来源:https://www.bwwdw.com/article/szng.html

Top