文档库 最新最全的文档下载
当前位置:文档库 › VFP二级培训教程new

VFP二级培训教程new

全国计算机等级考试二级教程

Visual FoxPro 6.0

数据库管理系统

赵兵

139********

目录

开篇................................................................................................... 错误!未定义书签。第一章基本概念........................................................................... 错误!未定义书签。第二章走进VFP (2)

第三章VFP的数据形式、类型及运算 (7)

第四章数据库及其操作 (18)

第五章SQL语言 (33)

第六章查询与视图 (42)

第七章程序设计基础 (45)

第八章表单设计与应用 (55)

第九章菜单设计与应用 (71)

第十章报表设计 (74)

第十一章数据库应用系统的开发 (77)

第一章数据库系统基础知识

1.1 数据库系统概述

1.1 数据库基础知识

1数据与数据处理

数据是指存储在某一种媒体上能够识别的物理符号。数据处理的中心问题是数据管理。

2计算机数据管理

(l)人工管理。

(2)文件系统。

(3)数据库系统。

(4)分布式数据库系统。

(5)面向对象数据库系统。

3数据库管理系统

为数据库的建立、使用和维护而配置的软件称为数据库管理系统DBMS (DataBase Management System)。

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)充分利用已有数据

第二章走进VFP

一、VFP简介

1、VFP的认识

VFP是一个适合小型数据库管理的数据库管理系统。

2、VFP之前统帅小型数据库管理领域的数据库管理系统是dBASE,其主要版本:dBASE II→dBASE III→dBASE III Plus→dBASE IV

3、VFP的进化轨迹

FoxBase 2.0/2.1→FoxPro 2.0→FoxPro 2.5→FoxPro 2.6→Visual FoxPro 3.0→Visual FoxPro 5.0→Visual FoxPro 6.0

我们学习的是Visual FoxPro 6.0。

4、Visual FoxPro(包括3.0、5.0、6.0版本)的基本特点:

·以可视化方式开发软件界面。

·采用面向对象的软件开发技术。

二、接近VFP

1、VFP的安装(略)

2、VFP的启动

3、VFP基本界面的认识

·菜单栏

·工具栏

·状态栏

·主屏幕:显示交互操作结果。

·命令窗口

作用:供输入操作命令的场所。一个命令输完后按下回车键,VFP才会执行相应的命令。

命令窗口的关闭与显示

快捷键操作—Ctrl+F4:关闭;Ctrl+F2:显示。

4、VFP的基本命令

·clear:清除主屏幕上的显示。

·?:在主屏幕当前行的下一行显示其后要显示的内容。

·??:在主屏幕当前行内容之后显示其后要显示的内容。

说明:已经使用过的命令可以再用。

5、VFP的退出

鼠标操作:见演示。

键盘操作:

·快捷键:Alt+F4。

·退出命令:QUIT。

三、设置VFP

1、设置VFP是指对VFP的工作环境进行一些设置,如日期的格式等。这些设置可以通过相应命令进行,也可在“选项”对话框中进行。

2、“选项”对话框设置VFP。

1)状态栏的设置

2)日期格式设置

3)默认目录(工作目录)设置

·了解默认目录(工作目录)

? sys(5)+sys(2003)

sys(5)—默认目录中的盘;sys(2003)—默认目录中的路径。

·设置

·意义(do form gzml.scx)

4)使设置长期有效

四、学习VFP

1、VFP提供的帮助系统是我们学习VFP的一本很好教科书,建议同学们经常使用。

2、使用帮助系统而不要依赖帮助系统,这样不利于我们通过二级考试。

第三章VFP的数据形式、类型及运算

一、常量

1、常量是表示一个确定值的数据。常量有数值型、货币型、字符型、逻辑型、日期型、日期时间型6种。

2、数值型常量

·数值型常量表示的是一个具体的数,因此,数值型常量也称为常数。

·数值型常量的书写方法:

(1)日常表示法

如12、+56、-64.8等。

(2)科学表示法

1.6E12表示1.6×1012;

1.6E-12表示1.6×10-12;

-1.6E12表示-1.6×1012;

-1.6E-12表示-1.6×10-12。

3、货币型常量

·货币型常量用来表示一个具体的货币值。货币型常量的小数位数采用4位。·货币型常量的书写方法:

如$12,$12.68,-$12.68等。

4、字符型常量

·字符型常量用来表示一串确定的字符,因此,字符型常量也称为字符串。·字符型常量的书写方法:

'abcd'、"abcd"、[abcd]均表示字符串abcd。

·说明

(1)表示字符型常量前后的'、"或[]称为字符型常量的定界符,它表示字符串的开始和结束,不是字符串的组成内容。字符串的前后定界符必须一致,如'abcd"等是错误的。

(2)当字符串中包含'、"或[]时,必须使用其它的定界符,如字符串ab'cd应表示为"ab'cd"或[ab'cd]。

(3)字符型数据中的字母大小写是区分的,比如"abcd"和"ABCD"是不同的两个字符串。顺便说一下,命令中的字母大小写是不区分的,如Clear、cleAr、CLEAR等均表示清除主屏幕显示命令。

(4)两个单引号('')、两个双引号("")、一对中括号([])均表示没有组成内容的字符串,这样的字符串称为空串。

(5)组成字符串的内容也可以有空格,如"ab cd"、"a bc d"、" "等都是正确的字符串。

(6)注意定界符应是英文符号,不能是中文符号。顺便说一下中英文符号问题:

除了字符串中可以随意使用符号以外,其它场合均只能使用英文符号!

5、逻辑型常量

·逻辑型常量用来表示一确定的逻辑值。逻辑值只有真值和假值两个。

·逻辑型常量的书写方法:

真值:.T. 、.t. 、.Y. 、.y. ;

假值:.F. 、.f. 、.N. 、.n. 。

6、日期型常量

·日期型常量用来表示一确定的日期。

·日期型常量的书写方法:

2004年7月14日可表示为:{^2004-7-14}、{^2004.7.14}、{^2004/7/14}、{^2004 7 14}。

7、日期时间型常量

·日期时间型常量用来表示一确定的日期和时间。

·日期时间型常量的书写方法:

格式:{^日期,时间}

其中,日期的书写格式同日期型常量,时间的书写格式有:8:10:30、18:15:25、8:10:30A、8:10:30AM、8:10:30P、8:10:30PM。

上机:在?或??命令后书写各种类型、形式的常量,以检测常量的表示是否正确。在?或??命令后,若想一次显示出几项的值,使用逗号进行分隔。

二、变量

1、变量是表示可变值的数据。变量用一名称来表示,该名称称为变量名。变量名一般以字母或汉字开始,其后可以是字母、汉字、数字及某些符号(如下划线)。

思考:a,aa,b12,c_1,a1B2,2d4,同学们,”同学们”。

2、变量的值可以通过赋值命令获得:

a=12 表示为变量a赋一个值12;

store 34.2 to a,b,c 表示将值34.2分别赋给变量a,b,c。

3、赋值命令的格式:

变量=表达式

store 表达式to 变量1,变量2,……

4、变量的类型由其值的类型决定。

5、变量的另一种使用形式——数组

·普通变量是一个变量对应一个值,而数组变量却一个变量对应多个值。数组变量中的每一个值称为数组元素。

·数组变量的取名同普通变量,数组元素用数组变量名加下标的方法来表示,如a(1)、a(2)、b(1,1)、b(1,2)等。也就是说,数组用下标来区分其元素。

·如果一个数组,其元素只用一个下标,则该数组称为一维数组;如果一个数组,其元素使用两个下标,则该数组称为二维数组。

·数组变量的使用与普通变量的使用有所不同:数组变量必须先定义,然后才能使用。

·定义一维数组变量:

dimension/declare 数组名(下标上限)

下标上限指下标的最大值。下标下限指下标的最小取值。VFP中,下标的下限规定为1,因此无须在定义数组时指定。

·定义二维数组变量:

dimension/declare 数组名(第一个下标上限,第二个下标上限)

·数组变量定义后,如果未对其赋值,则各元素为假值。

·给数组变量赋一个值时,其元素均得到该值,也可以为其元素分别赋以不同的值。

·数组变量不直接参加运算,其元素可以。

6、和变量有关的常用命令

·list memory命令

格式:p60。

功能:显示变量信息。

说明:

○书中命令格式的书写约定:中括号部分表示选项;尖括号部分内容(汉字部分)要根据要求提供;竖杠(斜杠)两边内容表示只能选择其一。

○显示的变量信息不仅有我们自己使用的变量,而且包括VFP本身所固有的变量(这些变量称为系统变量,系统变量名均以下划线开始)。

○“like <通配名>”表示只显示和通配名一致的变量信息。通配名是指包含?或*的名称,其中,?表示该位置可以是任意的某个符号,*表示该位置可以是任意多的符号。比如a?c表示这样的一些名称:第一位是a,第二为任意,第三位是c;a*c表示这样的一些名称:第一位是a,最后一位是c,中间内容任意。

○“to printer”表示将变量信息同时送打印机打印;“to file <文件>”表示将变量信息同时存入到指定的文件中。

○当显示的变量信息超出一个屏幕时,前面的信息会滚出屏幕。

○VFP命令中规定使用的英文单词称为保留字。使用时,保留字可以只写出前面部分,但至少要有4位。

·display memory命令

格式:p60。

功能:显示变量信息。

说明:与list memory命令的唯一区别在于:当显示的变量信息超出一个屏幕时,该命令能做到一个屏幕一个屏幕地显示。

·clear memory命令

格式:clear memory

功能:清除所有变量。

说明:系统变量是我们清除不掉的。

·release命令

格式1:release 变量1,变量2,……

功能:清除指定的变量。

格式2:release all

功能:清除所有变量。

格式3:release all like 通配名

功能:清除和通配名一致的变量。

格式4:release all except 通配名

功能:清除和通配名不一致的变量。

上机:练习普通变量及数组变量的使用;练习有关命令。

三、表达式

1、表达式是对数据(常量、变量)进行运算的式子。运算可以通过运算符,也可以通过函数。为改变运算的顺序,也可以在表达式中使用圆括号。

说明:

·计算机中,表达式里的所有字符均并列书写。

·单个常量或变量是表达式的特例,即属于表达式范畴。

2、数值表达式

·对数值型、货币型数据进行运算的式子,其值为数值型或货币型。

·算术运算符:

**或^:乘方运算;

*:乘法运算;

/:除运算;

%:求余运算;

+:加运算;

-:减运算。

3、字符表达式

·对字符型数据进行运算的式子,其结果仍为字符型。

·字符运算符:

+:将前后两个字符串进行合并,如[abc ]+[def],其结果为字符串[abc def]。-:将前后两个字符串进行合并,但将前面字符串尾部的空格挪到合并后的新字符串尾部。如[abc ]-[def],其结果为字符串[abcdef ]。

两个字符运算符的优先级相同。

4、日期时间表达式

·对日期时间型数据进行运算的式子,其结果类型依情况而定。

·日期时间表达式类型:p64表3.3。

5、关系表达式

·通过关系运算符进行比较的式子。如果比较成立,结果为逻辑值真,否则为假。

·关系运算符:p65表3.4。关系运算符的优先级相同,但低于前面的运算符。·关系运算符前后参与比较的数据要求是同一类型(数值型可以和货币型比较)。·关系表达式的运算结果和关系运算符两边的数据大小密切相关,VFP中,数据大小的规定:

(1)数值型、货币型

同算术中大小。

(2)日期型、日期时间型

靠后的日期、时间大。

(3)逻辑型

真大于假。

(4)字符型

【单个字符大小的规定】

当设置为Machine(机器)顺序时:

字符大小:空格<数字字符(?0?到?9?)<大写字母<小写字母;

汉字大小:常用汉字以拼音顺序排大小,如?李?

当设置为PinYin(拼音)顺序时:

字符大小:空格<数字字符(?0?到?9?)

汉字大小:以拼音顺序排大小,如?李?

当设置为Stroke(笔画)顺序时:

字符大小:空格<数字字符(?0?到?9?)

汉字大小:以书写笔画多少确定大小,笔画多的大。

【三种顺序的设置】

方法一:“选项”对话框中设置。

方法二:用命令设置:

set collate to “Machine”

set collate to “PinYin”

set collate to “Stroke”

【字符型数据的大小】

两个字符串大小的判定规则:

自左至右,逐个字符进行比较,直到某个字符能分辨出大小为止。(字符型数据大小规则图解)

非精确比较方式(默认方式):

两个字符串的比较以右边字符串的结束而结束。(比较方式图解)

精确比较方式:

两个字符串的比较以最长字符串的结束而结束。(比较方式图解)

【比较方式的设置】

方法一:“选项”对话框中进行。

方法二:命令

SET EXACT ON &&设置为精确比较方式

SET EXACT OFF &&设置为非精确比较方式

【思考、练习与提示】

1)了解当前比较方式。提示:通过SET('EXACT') 函数也可了解。

2)分别在非精确比较方式和精确比较方式下判断下述关系表达式的值:…XYZ?=?XY?,?XY?=?XYZ?, …XYZ?= =?XY?,?XY?= =?XYZ?,?XY??XY?。

6、逻辑表达式

·对逻辑型数据进行运算的式子,结果为逻辑型。

·逻辑运算符:

.not.或not或!:非运算;

.and.或and:与运算;

.or.或or:或运算。

优先级(高→低):非、与、或。但它们的优先级均低于前面的运算符。

说明:如果一个运算符只对一个数据进行运算,称之为单目运算符;如果对两个数据进行运算,称为双目运算符。

7、逻辑表达式、关系表达式的意义

VFP中,使用逻辑表达式、关系表达式表示条件。当逻辑表达式、关系表达式的值为真时,所表示的条件成立;当逻辑表达式、关系表达式的值为假时,所表示的条件不成立。

例:试用关系表达式或逻辑表达式表示如下条件,并验证条件的成立与否和表达式真假值之间的关系。

1)A大于5

2)A不大于5

3)A大于5且B小于10

4)A大于5或B小于10

5)A在5和20之间

上机:p63例3.8;就表3.3中的每一个表达式类型给出一个实例,并查看其结果;p68例3.15;

四、常用函数

1、函数是进行数据运算的另一种途径。

2、函数的一般使用格式:

函数名(自变量,自变量,……)

自变量又称参数。无自变量时,圆括号也要写上,如DATE()等。

3、常用函数

(1)数值处理函数

·ABS函数

功能:求一个数的绝对值。

例:ABS(67),ABS(-67+89),ABS(-82)

·SIGN函数

功能:当自变量值正时,返回1;当自变量值负时,返回-1;当自变量值为0时,返回0。

例:当变量A的值为正时,B赋以值8+20;当变量A的值为负时,B赋以值8-20;当变量A的值为0时,B赋以值8。

·SQRT函数

功能:求正数的平方根。

例:SQRT(2)

说明:默认计算结果为2位小数。SET DECIMALS TO命令可设置运算结果的小数位数。

·PI函数

功能:得到∏的值。

例:PI()

·INT函数

功能:返回自变量的整数部分。

例:INT(1.3),INT(1.6),INT(-1.3),INT(-1.6)

·CEILING函数

功能:返回大于或等于自变量的最小整数。

例:CEILING(1.3),CEILING(2),CEILING(-1.3),CEILING(-2)·FLOOR函数

功能:返回小于或等于自变量的最大整数。

例:FLOOR(1.3),FLOOR(2),FLOOR(-1.3),FLOOR(-2)

·ROUND函数

功能:对自变量的值进行四舍五入运算。运算时,第二个自变量表示精确到哪一位。

例:ROUND(345.345,2),ROUND(345.345,1),ROUND(345.345,0),ROUND(345.345,-1)

·MOD函数

功能:求两个整数相除以后的余数。

例:MOD(10,3),MOD(9,3),MOD(11,3)

说明:有负数的求余不考虑。

·MAX函数

功能:从多个自变量中挑出最大的值。

例:MAX(1,2,7,4,5),MAX(‘A’,‘ABC’,‘BC’)

说明:自变量的类型应一致。

·MIN函数

功能:从多个自变量中挑出最小的值。

例:MIN(1,2,7,4,5),MIN(‘A’,‘ABC’,‘BC’)

说明:自变量的类型应一致。

(2)字符处理函数

·LEN函数

功能:求字符串的长度。

说明:一个汉字长度为2,一个英文字符(包括空格)长度为1。例:LEN(“二级Visual FoxPro培训班”)

·LOWER函数

功能:将自变量中的所有字母转化为小写字母。

例:LOWER(“二级Visual FoxPro培训班”)

·UPPER函数

功能:将自变量中的所有字母转化为大写字母。

例:UPPER(“二级Visual FoxPro培训班”)

·SPACE函数

功能:产生指定个数空格组成的字符串。

例:SPACE(10)

·REPLICATE函数

功能:由指定字符串重复组合产生字符串。

例:REPLICATE(…*?,10),REPLICATE(…ABCD?,5)

·TRIM函数

功能:将字符型自变量右边空格去掉。

例:TRIM(“Visual FoxPro ”)

·LTRIM函数

功能:将字符型自变量左边空格去掉。

例:LTRIM(“Visual FoxPro ”)

·ALLTRIM函数

功能:将字符型自变量左、右两边的空格均去掉。

例:ALLTRIM(“Visual FoxPro ”)

·LEFT函数

功能:从一个字符串左边开始取子串。

例:LEFT(“上午好!”,2),LEFT(“上午好!”,4)

·RIGHT函数

功能:从一个字符串右边取子串。

例:RIGHT(“上午好!”,2),RIGHT(“上午好!”,4)·SUBSTR函数

功能:从一个字符串中取子串。

例:SUBSTR(“上午好!”,3,2),SUBSTR(“上午好!”,3,4)·OCCURS函数

功能:求第一个字符串在第二个字符串中出现的次数。

例:OCCURS("ab","huabhgtabagfbyrba"),OCCURS("ab","huahgtbagfbyrba")·AT函数

功能:求第一个字符串在第二个字符串中出现的位置。

例:AT("ab","huABygabhgtabagf"),AT("ab"," huABygabhgtabagf ",2)·ATC函数

功能:求第一个字符串在第二个字符串中出现的位置,但不区分字母大小写。例:ATC("ab"," huABygabhgtabagf "),ATC("ab"," huABygabhgtabagf ",2)·STUFF函数

功能:用第二个字符串替换第一个字符串中的内容。

例:STUFF("gtyabku",3,4,"AA")

思考:

1)在"ab"的a、b之间插入"和"。

2)将"淮北煤炭师范学院"中的“煤炭”二字删除。

·CHRTRAN函数

功能:对第一个字符串中的字符进行替换。

例1:CHRTRAN("ABACAD","ACD","X12")

例2:CHRTRAN("大家好","大家","你")

·LIKE函数

功能:第一个字符串中的字符和第二个字符串中字符是否对应相同,是返回真,否则返回假。

例1:LIKE("ABA","ABAD")

说明:第一个字符串中可以使用通配符。

例2:LIKE("AB*","ABAD")

(3)日期、时间函数

·DATE函数

功能:返回当前系统日期。

例:DATE()

·TIME函数

功能:返回当前系统时间。

例:TIME()

说明:函数值为字符型。

·DATETIME函数

功能:返回当前系统日期及时间。

例:DATETIME()

·YEAR函数、MONTH函数、DAY函数

功能:分别返回日期或日期时间型自变量对应的年份、月份和日子。

例:YEAR (DATE()),MONTH(DATE()),DAY(DATE())

·HOUR函数、MINUTE函数、SEC函数

功能:分别返回日期时间型自变量对应的时、分、秒。

例:HOUR(DATETIME()),MINUTE(DATETIME()),SEC(DATETIME())

思考:10小时后是几点?

(4)转换类函数

·STR函数

功能:将数值型自变量转换为字符型。

例1:STR (123.456)

说明:函数值默认10位,不带小数部分。可以加上第2、第3个参数,用来分别表示总位数和小数位数。默认或指定位数比实际位数多时,函数值的左边补以相应个数的空格,以保证总位数。

例2:STR (123.456,5),STR (123.456,5,1) ,STR (123.456,5,2) ,STR (123.456,6,2),

STR (123.456,3,2) ,STR (123.456,2)

·V AL函数

功能:将字符型自变量转换为数值型。

例:V AL([1234.56]),V AL([123a]),V AL([下午好])

·DTOC函数

功能:将日期型自变量转换为日期形式的字符串。

例1:DTOC(DATE())

说明:转换后的字符串组成和当前日期格式有关,但加上1参数后,将转化为YYYYMMDD这种固定格式的字符串。

例2:DTOC(DATE(),1)

·TTOC函数

功能:将日期时间型自变量转换为日期时间形式的字符串。

例1:TTOC(DATETIME())

说明:转换后的字符串组成和当前日期、时间格式有关,但加上1参数后,将转化为YYYYMMDDHHMMSS这种固定格式的字符串。

例2:TTOC(DATETIME(),1)

·CTOD函数

功能:将日期形式的字符串转化为日期型。

例:CTOD ("2004/7/16")

说明:字符串的日期形式应和当前日期格式一致,否则将转化为空日期。·CTOT函数

功能:将日期时间形式的字符串转化为日期时间型。

例:CTOT ("2004/7/16 10:10")

(5)测试类函数

·BETWEEN函数

功能:判断一个数据是否在另两个数据之间,是为真,否则为假。

例:BETWEEN(2,1,16),BETWEEN("2","1","16")

·EMPTY函数

功能:判断一个数据是否空值(p76表3.7),是为真,否则为假。

例:EMPTY (0),EMPTY ("0"),EMPTY (""),EMPTY (" "),EMPTY ({}) ·V ARTYPE函数

功能:判断一个数据的类型。

例:V ARTYPE(A)

4、典型函数介绍

·条件函数

用法:IIF(逻辑型表达式,表达式1,表达式2)

功能:如果逻辑型表达式的值为真,则表达式1的值作为函数值,否则,表达式2的值作为函数值。

例:函数IIF(X>10,?AAA?,?BBB?)

思考:当变量X分别取值10、0、100时,函数IIF(X>10,?AAA?,IIF(X<10,?BBB?,?CCC?))的值。

·宏替换函数

用法:&字符型变量.

功能:用字符型变量的值(不带定界符)替换整个宏替换函数。

例:假设A=?76+28?,问表达式1+A和1+&A.分别等价于什么?

说明:

(1)该函数是一个十分有用又十分特殊的一个函数。

(2)宏替换函数出现在字符串中时也还有效,而其它函数出现在字符串中时被当作一个个字符处理。即:

若A='ABC',则'X&A.Y'等价于'XABCY';而'ABS(-86)'却不等价于'86'。

(3)宏替换函数最后的小数点是宏替换函数的结束标记。当宏替换函数和其后的内容能够明确区分清楚时,该结束标记可以省略。

思考:下面的表达式中,哪些宏替换函数的结束标记可以省略?假设A=?76+28?。

&A.+52 ,&A.6-285 ,?&A.BCDEFG?。

上机:通过上机掌握常用函数的用法。P80上机题。

第四章数据库及其操作

一、认识VFP数据库

1、VFP中,数据库是一个扩展名为DBC的文件,但为了储存与数据库相关的其它信息,VFP还会自动地为每个数据库文件建立同基本名但不同扩展名的另两个文件:扩展名为DCT的数据库备注文件和扩展名为DCX的数据库索引文件。

思考:假设我们建立了数据库SJK.DBC,问:实际会产生哪些文件?

2、VFP数据库主要由表组成。组成数据库的表可以是一个,也可以是多个。

3、VFP中,表是一个扩展名为DBF的文件。

4、VFP中,表就相当于我们日常生活中所见的各种表格。日常表格中,表头上所列出的各项在VFP中叫字段;表格中的一行内容在VFP中叫作一个记录。

(字段与记录)

5、尽管数据库包含表,但数据库文件和表文件从文件夹中看都是独立的文件。

(数据库和表的关系)

6、VFP中,数据库建立的一般步骤是:

(1)建立数据库。

(2)在数据库中建立表。

(3)重复(2),创建数据库中的其它表。

(4)关闭数据库。

说明:关闭数据库后,其所属的表也被关闭。或者,先关闭表,再关闭数据库。

7、VFP中,使用数据库的一般步骤:

(1)先打开数据库,再打开表。或直接打开表(此时,表所属的数据库也会自动打开)。

(2)对表进行操作。

(3)关闭数据库。或者先关闭表,再关闭数据库。

二、数据库及表的基本操作

1、建立数据库

·菜单方法

·命令方法

CREATE DATABASE [数据库]

说明:

1)命令中,不指定要建立的数据库时,会出现对话框,通过对话框来选择数据库的位置及提供数据库名。

2)命令中,指定要建立的数据库时,可以省略数据库扩展名。如果要建立的数据库文件不想放在默认目录,则文件名前面还必须提供文件位置。如果文件位

置或文件名中用到空格,则所提供的内容前后应加上字符定界符。

3)菜单方式建立数据库后,会自动显示出“数据库设计器”窗口(我们今后简称为“数据库窗口”),命令方式建立时不会。执行“MODIFY DATABASE”命令可显示数据库窗口。

4)不管显示不显示数据库窗口,新建的数据库都将是打开状态。即关闭数据库窗口,不表示关闭数据库。

5)分别建几个数据库时,这些数据库都是打开状态,但叫“当前数据库”的只有一个。从“常用”工具栏可以看出已经打开的数据库、当前数据库,也可以选择当前数据库。

2、在数据库中建立表

·菜单方法

·命令方法

CREATE [表]

说明:

1)命令中,不指定要建立的表时,会出现对话框,通过对话框来选择表的位置及提供表名。

2)命令中,指定要建立的表时,可以省略表扩展名。如果要建立的表文件不想放在默认目录,则文件名前面还必须提供文件位置。如果文件位置或文件名中用到空格,则所提供的内容前后应加上字符定界符。

3)一个表的组成字段称为表的结构。

4)如果当前有多个数据库是打开状态,则新建的表将属于当前数据库。

5)表建好后,自动处在打开状态,但看不到表内容。

6)一般情况下,打开一个表将自动关闭已经打开的表。即一般情况下,只能打开一个表。当前所打开的表从状态栏可以看出相关信息。从状态栏所看到的表称为当前表。

3、关闭表和数据库

关闭表

·命令方法

USE

关闭数据库

·命令方法

CLOSE DATABASES &&关闭当前数据库

CLOSE DATABASES ALL &&关闭所有数据库

4、打开数据库

·菜单方法

·命令方法

OPEN DATABASE [数据库]

说明:用“OPEN DATABASE”打开数据库时并不自动显示数据库窗口,要想显示,须再执行“MODIFY DATABASE”命令。

相关文档
相关文档 最新文档