1、第一章第一章 数据库基础知识数据库基础知识任务一任务一 数据库的基本概念数据库的基本概念任务二任务二 数据模型数据模型任务三任务三 Visual FoxPro 6.0的启动与退出的启动与退出任务四任务四 数据类型数据类型任务五任务五 常量与变量常量与变量任务六任务六 运算符和表达式运算符和表达式任务七任务七 常用函数常用函数返回任务一任务一 数据库的基本概念数据库的基本概念一、一、数据数据 数据是对客观事物的符号表示,如图形符号、数字、字母等。在计算数据是对客观事物的符号表示,如图形符号、数字、字母等。在计算机科学中,数据是指所有能输入到计算机并被计算机程序处理的符号机科学中,数据是指所有能输
2、入到计算机并被计算机程序处理的符号的总称。数据不仅包含文字、数字,还包括符号、时间日期、图形图的总称。数据不仅包含文字、数字,还包括符号、时间日期、图形图像、声音、视频等。比如公民的身份信息、企业工资数据、股市中的像、声音、视频等。比如公民的身份信息、企业工资数据、股市中的股票信息、彩铃库中的彩铃等都可以作为数据库的数据进行存储和使股票信息、彩铃库中的彩铃等都可以作为数据库的数据进行存储和使用。用。二、数据库二、数据库(DB)数据库数据库(DataB ase)就是按一定的组织结构储存在计算机内可共享使就是按一定的组织结构储存在计算机内可共享使用的相关数据的集合。它以文件的形式存在,文件的扩展名
3、为用的相关数据的集合。它以文件的形式存在,文件的扩展名为.dbc。数据库的基本特点是数据库的基本特点是:数据能够为各种用户共享,具有可控制的冗余数据能够为各种用户共享,具有可控制的冗余度,数据对程序的独立性以及由数据库管理系统统一管理和控制等。度,数据对程序的独立性以及由数据库管理系统统一管理和控制等。它是数据库系统重要的组成部分。它是数据库系统重要的组成部分。下一页返回任务一任务一 数据库的基本概念数据库的基本概念三、数据库管理系统三、数据库管理系统(DBMS)数据库管理系统数据库管理系统(DataBase Management System,DBMS)是对数据是对数据库进行管理的软件系统。
4、它的功能可概括为库进行管理的软件系统。它的功能可概括为:数据的组织和存储、数数据的组织和存储、数据的查询、数据的增加、删除和修改、数据的排序和索引、数据的统据的查询、数据的增加、删除和修改、数据的排序和索引、数据的统计和分析以及数据的打印输出及各种数据控制等。一个数据库系统中,计和分析以及数据的打印输出及各种数据控制等。一个数据库系统中,最核心的组成是数据库管理系统最核心的组成是数据库管理系统(DBMS),用户对数据库进行的各种,用户对数据库进行的各种数据操作都是通过数据操作都是通过DBMS实现的。实现的。四、数据库系统四、数据库系统(DBS)数据库系统数据库系统(DataBase衡衡stem
5、)就是由计算机硬件系统、软件系统、数就是由计算机硬件系统、软件系统、数据库以及用户组成的一个计算机应用系统。用户利用计算机硬件和软据库以及用户组成的一个计算机应用系统。用户利用计算机硬件和软件开发、创建数据库,为用户提供信息支持和信息服务。数据模型是件开发、创建数据库,为用户提供信息支持和信息服务。数据模型是指数据库中各个数据对象以及它们之间存在的相互关系。指数据库中各个数据对象以及它们之间存在的相互关系。上一页返回任务二任务二 数据模型数据模型一、层次模型一、层次模型 用倒置的树形结构表示数据及其联系的数据模型称为层次模型。层次用倒置的树形结构表示数据及其联系的数据模型称为层次模型。层次模型
6、由结点和连线组成,结点表示数据集,连线表示数据之间的联系。模型由结点和连线组成,结点表示数据集,连线表示数据之间的联系。模型上方的结点称为父结点,下方的结点称为子结点。树的最高位置模型上方的结点称为父结点,下方的结点称为子结点。树的最高位置只有一个结点,称为根结点。根结点以外的其他结点都有一个父结点只有一个结点,称为根结点。根结点以外的其他结点都有一个父结点与它相连,同时可能有一个或多个子结点与它相连。没有子结点的结与它相连,同时可能有一个或多个子结点与它相连。没有子结点的结点称为叶结点,它处于树形结构的末端。如点称为叶结点,它处于树形结构的末端。如图图1-1所示。所示。下一页返回任务二任务二
7、 数据模型数据模型二、网状模型二、网状模型 用网络结构表示数据及其联系的数据模型称为网状模型。网状模型的用网络结构表示数据及其联系的数据模型称为网状模型。网状模型的结点间可以任意发生联系,能够表示各种复杂的关系。网状模型和层结点间可以任意发生联系,能够表示各种复杂的关系。网状模型和层次模型都是用结点表示数据,用连线表示数据间的联系。例如,学校次模型都是用结点表示数据,用连线表示数据间的联系。例如,学校的教师、学生、课程之间的联系即网状模型。层次模型是网状模型的的教师、学生、课程之间的联系即网状模型。层次模型是网状模型的特殊形式如特殊形式如图图1-2所示。所示。三、关系模型三、关系模型1.关系模
8、型的定义关系模型的定义 用行与列构成的二维表的形式表示一组相关数据的模型称为关系模型,用行与列构成的二维表的形式表示一组相关数据的模型称为关系模型,如如图图1-3所示。关系模型中,表又被称为关系。目前绝大多数数据库所示。关系模型中,表又被称为关系。目前绝大多数数据库系统的数据模型都是采用关系模型,这已经成为数据库应用的主流。系统的数据模型都是采用关系模型,这已经成为数据库应用的主流。Visual FoxPro 6.0是一种关系模型数据库管理系统。是一种关系模型数据库管理系统。上一页 下一页返回任务二任务二 数据模型数据模型2.关系模型的特点关系模型的特点 关系必须是规范化的关系,是一个二维表。
9、每个属性值必须是不可关系必须是规范化的关系,是一个二维表。每个属性值必须是不可分割的最小数据单元,即表中不能再包含表。分割的最小数据单元,即表中不能再包含表。构成关系模型的二维表中不允许有重复的字段名。构成关系模型的二维表中不允许有重复的字段名。表中每一列数据必须具有相同的数据类型。表中每一列数据必须具有相同的数据类型。表中不允许有两条完全相同的记录。表中不允许有两条完全相同的记录。表中行的排列次序以及列的排列次序可以任意,并且其次序不影响表中行的排列次序以及列的排列次序可以任意,并且其次序不影响表中的关系。表中的关系。两个二维表之间通过两个表中的相同属性字段来联系。两个二维表之间通过两个表中
10、的相同属性字段来联系。上一页 下一页返回任务二任务二 数据模型数据模型3.关系型数据库关系型数据库 按照关系模型建立的数据库就是关系型数据库。在按照关系模型建立的数据库就是关系型数据库。在Visual FoxPr。系。系统中,与关系数据库对应的是数据库文件。一个数据库文件包含一个统中,与关系数据库对应的是数据库文件。一个数据库文件包含一个或多个表。表由表结构和记录组成表结构对应字段属性,表中的每一或多个表。表由表结构和记录组成表结构对应字段属性,表中的每一行称为一条记录。行称为一条记录。4.关系操作关系操作关系型数据库管理系统不但提供了数据库管理系统的一般功能,还提关系型数据库管理系统不但提供
11、了数据库管理系统的一般功能,还提供了筛选、投影和连接供了筛选、投影和连接3种关系操作种关系操作)。(1)筛选筛选筛选是指从数据库文件中找出满足条件的若干记录。筛选是指从数据库文件中找出满足条件的若干记录。上一页 下一页返回任务二任务二 数据模型数据模型(2)投影投影投影是指从数据库文件中找出满足条件的记录的多个字段。投影是指从数据库文件中找出满足条件的记录的多个字段。(3)连接连接连接是将两个数据库文件按某个条件筛选部分连接是将两个数据库文件按某个条件筛选部分(或全部或全部)记录及部分记录及部分(或或个部个部)字段组合成一个新的数据库文件。字段组合成一个新的数据库文件。上一页返回任务三任务三
12、Visual FoxPro 6.0的启动与退出的启动与退出一、一、Visual FoxPro 6.0的启动的启动Visual FoxPro 6.0的启动方法与启动其他的启动方法与启动其他Window*应用程序的方法应用程序的方法相同。可以有以下几种方法相同。可以有以下几种方法:在桌面上双击在桌面上双击“Visual FoxPro 6.0”图标。图标。Window*的的“开始开始”菜单的程序列表中选择菜单的程序列表中选择Visual FoxPro 6.0项。项。通过通过Window*的的“资源管理器资源管理器”或或“我的电脑我的电脑”,找到,找到Visual FoxPro 6.0程序并启动。程序
13、并启动。下一页返回任务三任务三 Visual FoxPro 6.0的启动与退的启动与退出出二、二、Visual FoxPro 6.0用户窗口用户窗口1.欢迎界面欢迎界面首次启动中文版首次启动中文版Visual FoxPro 6.0后,屏幕出现如后,屏幕出现如图图1-4所示的欢迎所示的欢迎窗口。用户可以根据提示,选择相应的提示选项按钮,快速地打开新窗口。用户可以根据提示,选择相应的提示选项按钮,快速地打开新的组件管理库,查找示例程序,创建新的应用程序和打开已存在的项的组件管理库,查找示例程序,创建新的应用程序和打开已存在的项目等。单击目等。单击“关闭此屏关闭此屏”,便可进入,便可进入Visual
14、 FoxPro 6.0系统主窗口。系统主窗口。也可选中也可选中“以后不再显示此屏以后不再显示此屏”,再单击,再单击“关闭此屏关闭此屏”按钮,以后启按钮,以后启动动Visual FoxPro 6.0将不再显示此屏,直接进入将不再显示此屏,直接进入Visual FoxPro 6.0的系统主窗口。的系统主窗口。2.系统主窗口系统主窗口 Visual FoxPro 6.0的系统主窗口的系统主窗口(如如图图1-5所示所示)与其他与其他Windows窗窗口基本一样,包括标题栏、菜单栏、工具栏、工作区和状态栏等。不口基本一样,包括标题栏、菜单栏、工具栏、工作区和状态栏等。不同的是,主窗口中还包含有命令窗口。
15、同的是,主窗口中还包含有命令窗口。上一页 下一页返回任务三任务三 Visual FoxPro 6.0的启动与退的启动与退出出 3.命令窗口命令窗口命令窗口是一个标题为命令窗口是一个标题为“命令命令”的小窗口,如的小窗口,如图图1-5所示。它的主要所示。它的主要作用是输入并显示作用是输入并显示Visual FoxPro 6.0命令,实现与用户的单步交互命令,实现与用户的单步交互操作。在操作。在VisualFoxPro 6.0执行菜单命令时,相应的命令语句会自动执行菜单命令时,相应的命令语句会自动显示在命令窗口中。显示在命令窗口中。命令窗口可以显示或隐藏。只要打开命令窗口可以显示或隐藏。只要打开“
16、窗口窗口”菜单,选择菜单,选择“命令窗口命令窗口”命令,就可以显示或隐藏该窗口。另外,也可以利用工具栏的命令,就可以显示或隐藏该窗口。另外,也可以利用工具栏的“命命令窗口令窗口”按钮完成该操作。按钮完成该操作。三、三、Visual FoxPro 6.0的工作方式的工作方式1.菜单操作工作方式菜单操作工作方式直接利用系统提供的菜单命令及其对应的界面来完成操作。直接利用系统提供的菜单命令及其对应的界面来完成操作。上一页 下一页返回任务三任务三 Visual FoxPro 6.0的启动与退的启动与退出出2.命令操作工作方式命令操作工作方式 利用在命令窗口中输入命令完成相应的操作。利用在命令窗口中输入
17、命令完成相应的操作。(1)命令格式命令格式Visual FoxPro 6.0可以执行的命令由可以执行的命令由“命令动词命令动词+命令子句命令子句”组成,组成,常用形式常用形式:命令动词【命令动词【】【】【for】【】【while】【】【fields】【off】(2)命令书写规则命令书写规则Visual FoxPro 6.0的命令都有相应的语法格式,使用时必须按一定的的命令都有相应的语法格式,使用时必须按一定的规则书写、输入。有关命令的书写规则归纳如下规则书写、输入。有关命令的书写规则归纳如下:任何命令必须以命令动词开始。任何命令必须以命令动词开始。命令动词与子句之间、各子句之间都以空格分隔。命
18、令动词与子句之间、各子句之间都以空格分隔。上一页 下一页返回任务三任务三 Visual FoxPro 6.0的启动与退的启动与退出出一个命令行最多包含一个命令行最多包含8 192个字符个字符(包括所有的空格包括所有的空格)。一行书写不完,。一行书写不完,行尾用分号行尾用分号“;”作为续行标志,按作为续行标志,按Enter键后在下一行继续书写、输键后在下一行继续书写、输入。入。命令动词及子句中关键字一般不宜用缩略形式,以保持命令的可读性命令动词及子句中关键字一般不宜用缩略形式,以保持命令的可读性和规范性。和规范性。Visual FoxPro 6.0不区分命令字符的大小写。不区分命令字符的大小写。
19、除了命令动词外,命令中其他部分的排列顺序可以任意,一般不影响除了命令动词外,命令中其他部分的排列顺序可以任意,一般不影响命令功能。命令功能。3.程序操作工作方式程序操作工作方式程序是为完成某项任务,将若干条命令按一定逻辑结构编写成的一个程序是为完成某项任务,将若干条命令按一定逻辑结构编写成的一个完整的命令文件对于复杂的数据库操作和大量的重复命令,往往通过完整的命令文件对于复杂的数据库操作和大量的重复命令,往往通过程序方式来完成。程序方式来完成。上一页 下一页返回任务三任务三 Visual FoxPro 6.0的启动与退的启动与退出出四、配置四、配置Visual FoxPro 6.0 在安装在安
20、装Visual FoxPro 6.0后,系统自动用默认值来设置环境。用户后,系统自动用默认值来设置环境。用户 根据自己的需要来配置系统环境。根据自己的需要来配置系统环境。1.设置时间日期格式设置时间日期格式【例【例1】设置日期显示格式为】设置日期显示格式为“月日年月日年”格式。格式。操作步骤如下操作步骤如下:单击单击“工具工具”菜单中的菜单中的“选项选项”命令,打开如命令,打开如图图1-6所示的所示的“选项选项”对话框。对话框。选择选择“区域区域”选项卡,选择日期格式为选项卡,选择日期格式为“月日年月日年”,并单击,并单击“确定确定”按钮。按钮。上一页 下一页返回任务三任务三 Visual F
21、oxPro 6.0的启动与退的启动与退出出2.设置默认目录设置默认目录【例【例2】设置】设置D;VF为默认目录。为默认目录。操作步骤如下操作步骤如下:单击单击“工具工具”菜单中的菜单中的“选项选项”命令,打开命令,打开“选项选项”对话框,选择对话框,选择“文件位置文件位置”选项卡。选项卡。在如在如图图1-7所示的所示的“文件类型文件类型”列表框中选择列表框中选择“默认目录默认目录”,单击,单击“修改修改”按钮,出现如按钮,出现如图图1-8所示的所示的“更改文件位置更改文件位置”对话框。选择对话框。选择“使用默认目录使用默认目录”复选框,在复选框,在“默认目录默认目录”文本框中键入路径文本框中键
22、入路径(D;VF)。单击单击“确定确定”按钮。按钮。上一页 下一页返回任务三任务三 Visual FoxPro 6.0的启动与退的启动与退出出五、五、Visual FoxPro 6.0的退出的退出Visual FoxPro 6.0的退出方法与退出其他的退出方法与退出其他Windows*应用程序的方法应用程序的方法基本相同,有以下基本相同,有以下5种方法种方法:利用控制菜单关闭。利用控制菜单关闭。利用利用ALT+F4关闭当前窗口。关闭当前窗口。单击系统主窗口右上角的单击系统主窗口右上角的“关闭关闭”按钮。按钮。利用利用“文件文件”菜单的菜单的“退出退出”命令关闭。命令关闭。在在“命令窗口命令窗口
23、”中键入中键入“QUIT”命令,直接退出系统。命令,直接退出系统。上一页返回任务四任务四 数据类型数据类型 数据类型决定了数据的存储和使用方式。每一个数据都有与其对应的数据类型决定了数据的存储和使用方式。每一个数据都有与其对应的数据类型,如姓名通常设置为字符型,年龄设置为数值或整型,照片数据类型,如姓名通常设置为字符型,年龄设置为数值或整型,照片为通用型。在为通用型。在Visual FoxPro 6.0中,字段的数据类型有中,字段的数据类型有13种,分别种,分别为数值型、字符型、逻辑型、日期型、日期时间型、货币型、双精度为数值型、字符型、逻辑型、日期型、日期时间型、货币型、双精度型、浮动型型、
24、浮动型(常称浮点型常称浮点型)、整型、通用型、备注型、字符型、整型、通用型、备注型、字符型(二进制二进制)和备注型和备注型(二进制二进制)数据。各数据类型及其说明见数据。各数据类型及其说明见表表1-1。以上数据类型都可以用于字段,其中双精度、浮动型、通用型、整型、以上数据类型都可以用于字段,其中双精度、浮动型、通用型、整型、备注型、字符型备注型、字符型(二进制二进制)只能用于字段,其他类型还可以用于内存变只能用于字段,其他类型还可以用于内存变量。量。返回任务五任务五 常量与变量常量与变量一、常量一、常量 常量是指在程序运行过程中其值始终不变化的数据,又可称为常数。常量是指在程序运行过程中其值始
25、终不变化的数据,又可称为常数。在在Visual FoxPro 6.0中,常量有字符型、数值型、逻辑型、日期型、中,常量有字符型、数值型、逻辑型、日期型、日期时间型和货币型日期时间型和货币型6种类型。种类型。1.字符型常量字符型常量字符型常量是用定界符括起来的一串字符,又称为字符串。可用的定字符型常量是用定界符括起来的一串字符,又称为字符串。可用的定界符有三对,即单引号、双引号和方括号。例如界符有三对,即单引号、双引号和方括号。例如“3.14159”【计算【计算机】机】,“A”都是书写正确的字符型常量。使用定界符时一定要成对匹都是书写正确的字符型常量。使用定界符时一定要成对匹配出现。像【计算机】
26、就是非法的字符型常量。配出现。像【计算机】就是非法的字符型常量。2.数值型常量数值型常量数值型常量用于表示一个数量的大小,可以是整数和实数。例如数值型常量用于表示一个数量的大小,可以是整数和实数。例如3.14,1.23E+5。数值型常量的长度包括整数位数、小数位数和小数点。数值型常量的长度包括整数位数、小数位数和小数点下一页返回任务五任务五 常量与变量常量与变量3.逻辑型常量逻辑型常量 逻辑型常量只有两个值逻辑型常量只有两个值:逻辑真和逻辑假。表示逻辑真的常量有逻辑真和逻辑假。表示逻辑真的常量有.T.,.t.,.Y.,.y.;表示逻辑假的常量有;表示逻辑假的常量有.F.,.F.,.N.,.n.
27、。如果书写时。如果书写时少了字符左右的两点,就会被计算机当做变量。比如少了字符左右的两点,就会被计算机当做变量。比如.F.是一个逻辑是一个逻辑型常量,表示逻辑假而型常量,表示逻辑假而F则会被认为是一个名为则会被认为是一个名为F的变量。的变量。4.日期型常量日期型常量日期型常量必须用一对花括号日期型常量必须用一对花括号将数据括起来。例如将数据括起来。例如:2008/05/11表示表示“2008年年5月月11日日”这一日期数据。空的日期型常量用这一日期数据。空的日期型常量用或或/表表示。示。5.日期时间型常量日期时间型常量日期时间型常量与日期型常量类似,也必须用一对花括号将数据括起日期时间型常量与
28、日期型常量类似,也必须用一对花括号将数据括起来,只是在日期数据后面加上来,只是在日期数据后面加上“时时:分分:秒秒”即可。即可。上一页 下一页返回任务五任务五 常量与变量常量与变量 6.货币型常量货币型常量货币型常量用来表示货币值,使用时在数值前加上货币符号。货币型常量用来表示货币值,使用时在数值前加上货币符号。二、变量二、变量 在程序执行过程中其值可以变化的数据项,称为变量。每个变量都有在程序执行过程中其值可以变化的数据项,称为变量。每个变量都有一个变量名,可以用字母、汉字和数字命名,但必须以汉字或字母开一个变量名,可以用字母、汉字和数字命名,但必须以汉字或字母开头。例如,编号、头。例如,编
29、号、X2,NL等都是正确的变量名,等都是正确的变量名,2X则是不合法的变则是不合法的变量名。量名。变量可以分为内存变量和字段变量两种类型。变量可以分为内存变量和字段变量两种类型。1.内存变量内存变量内存变量是独立于数据库文件而存在的变量。可以存储数据处理过程内存变量是独立于数据库文件而存在的变量。可以存储数据处理过程中的常量、中间结果和最终结果。用户可以给一个内存变量多次赋值,中的常量、中间结果和最终结果。用户可以给一个内存变量多次赋值,但每一个内存变量只能保存一个值内存变量的数据类型由其值的但每一个内存变量只能保存一个值内存变量的数据类型由其值的上一页 下一页返回任务五任务五 常量与变量常量
30、与变量类型决定。类型决定。(1)内存变量的赋值内存变量的赋值格式格式1:【格式】【格式】=【功能】计算赋值号右边表达式的值,并将这个值赋给左边的内存变【功能】计算赋值号右边表达式的值,并将这个值赋给左边的内存变量。它具有计算和赋值的双重功能。量。它具有计算和赋值的双重功能。【例【例1】将】将“李云峰李云峰”赋给变量赋给变量Y,可以表示为,可以表示为:Y=”李云峰李云峰”其中,其中,Y是变量名,其值为是变量名,其值为“李云峰李云峰”,类型为字符型。,类型为字符型。【例【例2】将表达式】将表达式25*3的值赋给变量的值赋给变量Y,可以表示为,可以表示为:Y=25*3,其中,其中,Y是变量名,其值为
31、是变量名,其值为75,类型为数值型。,类型为数值型。注注:经过二次赋值后,变量经过二次赋值后,变量Y的值为最后一次赋的值,即的值为最后一次赋的值,即75,数值型。,数值型。上一页 下一页返回任务五任务五 常量与变量常量与变量 格式格式2:【格式】【格式】STORETO【功能】计算【功能】计算的值,并将结果分别赋给内存变量名表中的所的值,并将结果分别赋给内存变量名表中的所有变量。所谓有变量。所谓表示有多个变量,变量与变量之间用逗表示有多个变量,变量与变量之间用逗号号“,”分隔,且分隔,且“,”为英文标点符号。为英文标点符号。【例【例1】仍是将】仍是将“李云峰李云峰”赋给变量赋给变量Y,还可以表示
32、为,还可以表示为:STORE”李云峰李云峰”TO Y【例【例2】将数字】将数字1同时赋给变量同时赋给变量X,Y,Z可以表示为可以表示为:STORE 1 TO X,Y,Z上一页 下一页返回任务五任务五 常量与变量常量与变量(2)内存变量值的显示内存变量值的显示【格式】【格式】?【功能】显示内存变量名表中各变量的值。【功能】显示内存变量名表中各变量的值。【例【例3】显示上例中内存变量】显示上例中内存变量X,Y,Z的值。的值。?X,Y,Z 1 1 1 2.字段变量字段变量字段变量指存放在表中的字段。每一个字段名对应一个字段变量。字字段变量指存放在表中的字段。每一个字段名对应一个字段变量。字段变量的值
33、由记录的输入而产生,随着记录指针的移动而变化。当前段变量的值由记录的输入而产生,随着记录指针的移动而变化。当前记录相应字段的值就是字段变量的当前值。记录相应字段的值就是字段变量的当前值。上一页返回任务六任务六 运算符和表达式运算符和表达式 运算符是描述各种不同运算的符号,有四种类型运算符是描述各种不同运算的符号,有四种类型:算术运算符、字符算术运算符、字符运算符、关系运算符和逻辑运算符。表达式是指由运算符将常量、变运算符、关系运算符和逻辑运算符。表达式是指由运算符将常量、变量、函数等元素连接起来的有意义的式子。量、函数等元素连接起来的有意义的式子。一、一、Visual FoxPro 6.0中的
34、运算符中的运算符 Visual FoxPro 6.0中的运算符主要有四种,即算术运算符、字符运中的运算符主要有四种,即算术运算符、字符运算符、关系运算符和逻辑运算符见算符、关系运算符和逻辑运算符见表表1-2。在一个表达式中可以包含多个由不同运算符连接起来的、具有不同数在一个表达式中可以包含多个由不同运算符连接起来的、具有不同数据类型的数据对象。但任何运算符两侧的数据对象必须具有相同数据据类型的数据对象。但任何运算符两侧的数据对象必须具有相同数据类型,否则运算将会出错。当表达式中包含多种运算时类型,否则运算将会出错。当表达式中包含多种运算时.必须按一定必须按一定顺序进行相应运算顺序进行相应运算.
35、才能保证运算的合理性和结果的正确性、唯一性。才能保证运算的合理性和结果的正确性、唯一性。用户可以通过给表达式加括号的方式,改变其默认运算顺序。括号的用户可以通过给表达式加括号的方式,改变其默认运算顺序。括号的使用和嵌套必须使用圆括号,且括号具有最优先的运算顺序。使用和嵌套必须使用圆括号,且括号具有最优先的运算顺序。下一页返回任务六任务六 运算符和表达式运算符和表达式 在在Visual FoxPro 6.0系统中,各类运算的优先顺序如下系统中,各类运算的优先顺序如下:圆括号、算术和日期运算、字符串运算、关系运算、逻辑运算圆括号、算术和日期运算、字符串运算、关系运算、逻辑运算同一类运算符也有一定的
36、运算优先顺序,这将在各类表达式中分别介同一类运算符也有一定的运算优先顺序,这将在各类表达式中分别介绍。如果多个同一级别的运算,则按在表达式中出现的先后顺序进行绍。如果多个同一级别的运算,则按在表达式中出现的先后顺序进行运算。运算。二、表达式二、表达式1.数值表达式数值表达式数值表达式又称算术表达式,是由算术运算符将数值型数据连接起来数值表达式又称算术表达式,是由算术运算符将数值型数据连接起来的式子。运算对象和运算结果均为数值型数据。的式子。运算对象和运算结果均为数值型数据。数值运算符的功能及运算优先顺序,见数值运算符的功能及运算优先顺序,见表表1-3。表中运算符按运算优。表中运算符按运算优先级
37、别从高到低顺序排列。先级别从高到低顺序排列。上一页 下一页返回任务六任务六 运算符和表达式运算符和表达式【例【例1】计算表达式】计算表达式2x32+12-25的值。的值。?2*3*2+12-255日期型数据可以和整型数据进行加、减运算。运算规则如下日期型数据可以和整型数据进行加、减运算。运算规则如下:(1)两个日期型数据可以相减,结果为数值型。两个日期型数据可以相减,结果为数值型。(2)日期型数据可加上一个整数,结果为日期型。日期型数据可加上一个整数,结果为日期型。(3)日期型数据可减去一个整数,结果为日期型。日期型数据可减去一个整数,结果为日期型。2.字符表达式字符表达式字符表达式是由字符运
38、算符将字符型数据对象连接起来进行运算的式字符表达式是由字符运算符将字符型数据对象连接起来进行运算的式子字符运算的对象是字符型数据,运算结果是字符型常量或逻辑型常子字符运算的对象是字符型数据,运算结果是字符型常量或逻辑型常量见量见表表1-4。字符运算符的优先级别是从左至右。字符运算符的优先级别是从左至右。上一页 下一页返回任务六任务六 运算符和表达式运算符和表达式【例【例1】输出下列表达式的值。】输出下列表达式的值。A=”技术学校技术学校”?”中等职业中等职业”+A 中等职业中等职业 技术学校技术学校?”中等职业中等职业”-A+”现状现状”中等职业技术学校中等职业技术学校 现状现状3.关系表达式
39、关系表达式由关系运算符连接两个同类数据对象进行关系比较的式子称为关系表由关系运算符连接两个同类数据对象进行关系比较的式子称为关系表达式。关系表达式的值为逻辑值,关系表达式成立则其值为达式。关系表达式的值为逻辑值,关系表达式成立则其值为“真真”,否则为否则为“假假”。关系运算符的优先级别相同。关系运算符的优先级别相同。上一页 下一页返回任务六任务六 运算符和表达式运算符和表达式 关系表达式运算时,必须是相同类型的数据进行比较不同类型的数据关系表达式运算时,必须是相同类型的数据进行比较不同类型的数据是不可比较的。数值型数据的大小由其数值的大小决定是不可比较的。数值型数据的大小由其数值的大小决定;日
40、期型数据日期型数据按照年月日的大小来比较按照年月日的大小来比较;字符型数据的比较是以字符字符型数据的比较是以字符AS(:II码值的大码值的大小,也就是先后顺序,作为字符的小,也就是先后顺序,作为字符的“大小大小”;两个字符串进行比较的两个字符串进行比较的基本原则是从左到右逐个字符进行比较,汉字是按其机内码来比较大基本原则是从左到右逐个字符进行比较,汉字是按其机内码来比较大小的。见小的。见表表1-5。【例【例1】输出下列各表达式的值。】输出下列各表达式的值。?15 4*6 .T.?”A”.T.上一页 下一页返回任务六任务六 运算符和表达式运算符和表达式?2+4=3*5 .F.?2+4 2*3 .
41、F.?”ABC=”A”.T.?”ABCD=”ABCd”.F.?”ABCD“=“ABCD”.T.上一页 下一页返回任务六任务六 运算符和表达式运算符和表达式4.逻辑表达式逻辑表达式由逻辑运算符由逻辑运算符(表表1-6)将逻辑型数据对象连接而成的式子称为逻辑表达将逻辑型数据对象连接而成的式子称为逻辑表达式。逻辑表达式的运算对象与运算结果均为逻辑型数据。逻辑运算符式。逻辑表达式的运算对象与运算结果均为逻辑型数据。逻辑运算符的运算优先顺序为的运算优先顺序为:NOTANDOR见见表表1-6 。【例【例1】年龄】年龄=28,判断,判断“年龄年龄”的值是否在的值是否在20 40,表达式可以表,表达式可以表示
42、为示为:年龄年龄=20 AND年龄年龄=40【例【例2】查找】查找“年龄年龄”在在35岁以下并且岁以下并且“性别性别”为女的职员,条件表为女的职员,条件表达式可以表示为达式可以表示为:年龄年龄=35 AND性别性别=”女女”上一页返回任务七任务七 常用函数常用函数 函数是用程序来实现的一种数据运算或转换。每一个函数都有特定的函数是用程序来实现的一种数据运算或转换。每一个函数都有特定的运算或转换功能。大部分函数需要一个或多个自变量运算或转换功能。大部分函数需要一个或多个自变量(又称参数又称参数),自,自变量通常放在函数后边的圆括号里变量通常放在函数后边的圆括号里.多个自变量之间用逗号间隔每个多个
43、自变量之间用逗号间隔每个函数都有一个返回值函数都有一个返回值.称为函数值。灵活运用函数不仅可以简化许多称为函数值。灵活运用函数不仅可以简化许多运算,而且可以加强运算,而且可以加强Visual FoxPro6.0的许多功能。在使用的许多功能。在使用Visual FoxPro 6.0的函数时,应注意以下几点的函数时,应注意以下几点:准确地掌握函数功能。准确地掌握函数功能。函数对其参数的类型有严格的要求,否则将产生类型不匹配的语法函数对其参数的类型有严格的要求,否则将产生类型不匹配的语法错误。错误。每一个函数都有一个返回值。函数的返回值有确定的数据类型。每一个函数都有一个返回值。函数的返回值有确定的
44、数据类型。Visual FoxPro 6.0系统为用户提供的函数可分为数值运算函数、字系统为用户提供的函数可分为数值运算函数、字符串操作函数、数据转换函数、测试函数和日期时间函数等。符串操作函数、数据转换函数、测试函数和日期时间函数等。下一页返回任务七任务七 常用函数常用函数一、数值运算函数一、数值运算函数求绝对值函数求绝对值函数ABS()【格式】【格式】ABS()【功能】求数值表达式值的绝对值。【功能】求数值表达式值的绝对值。【说明】数值表达式可以是数值型常量、变量、函数或由数值型常量、【说明】数值表达式可以是数值型常量、变量、函数或由数值型常量、变量、函数构成的式子。变量、函数构成的式子。
45、【例【例1】计算表达式】计算表达式-39 Y 3+100的绝对值,可以输入命令的绝对值,可以输入命令:?ABS(-39*3+100)17【例【例2】计算变量】计算变量X的绝对值,可以输入命令的绝对值,可以输入命令:X=28*19?ABS(X)上一页 下一页返回任务七任务七 常用函数常用函数2.取整函数取整函数INT()【格式】【格式】INT()【功能】求数值表达式值的整数部分【功能】求数值表达式值的整数部分【说明】【说明】数值表达式可以是数值型常量、变量、函数或由数值型常量、变量、数值表达式可以是数值型常量、变量、函数或由数值型常量、变量、函数构成的式子。函数构成的式子。取整时不进行四舍五入。
46、取整时不进行四舍五入。【例【例1】取常数】取常数-10.7的整数部分的整数部分?INT(-10.7)-10上一页 下一页返回任务七任务七 常用函数常用函数【例【例2】取表达式】取表达式25.8*2计算结果的整数部分计算结果的整数部分?INT(25.8*2)513.四舍五入函数四舍五入函数ROUND()【格式】【格式】ROUND(,)【功能】对【功能】对的值进行四舍五入。的值进行四舍五入。【说明】【说明】数值表达式可以是数值型常量、变量、函数或由数值型常量、变量、数值表达式可以是数值型常量、变量、函数或由数值型常量、变量、函数构成的式子。函数构成的式子。指定四舍五入后要求保留的小数位数。可以是正
47、数,也指定四舍五入后要求保留的小数位数。可以是正数,也可以是负数或零在有效位数为负数时,表示对小数点左边的第可以是负数或零在有效位数为负数时,表示对小数点左边的第n位进位进行四舍五入。行四舍五入。上一页 下一页返回任务七任务七 常用函数常用函数【例【例1】对表达式】对表达式3.141459进行四舍五入,保留四位有效数字。进行四舍五入,保留四位有效数字。?ROUND(3.14159,4)3.1416【例【例2】对】对58.90四舍五入,保留整数部分。四舍五入,保留整数部分。?ROUND(58.90,0)59【例【例3】对】对1362.88小数点左边的个位数进行四舍五入。小数点左边的个位数进行四舍
48、五入。?ROUND(1362.88,一,一1)13 60上一页 下一页返回任务七任务七 常用函数常用函数4.平方根函数平方根函数SQRT()【格式】【格式】sQRT()【功能】对【功能】对的值求算术平方根。的值求算术平方根。【说明】【说明】数值表达式可以是数值型常量、变量、函数或由数值型常量、变量、数值表达式可以是数值型常量、变量、函数或由数值型常量、变量、函数构成的式子。函数构成的式子。函数值自动保留函数值自动保留2位小数位小数【例【例1】计算常数】计算常数625的算术平方根,可以输入命令的算术平方根,可以输入命令:?SQRT(625)25.00上一页 下一页返回任务七任务七 常用函数常用函
49、数5.取模函数取模函数MOD()【格式】【格式】MOD(,)【功能】计算数值表达式【功能】计算数值表达式1除以数值表达式除以数值表达式2所得的余数所得的余数【例【例1计算计算14除以除以3的余数的余数?MOD(14,3)2【例【例2】计算一】计算一14除以除以3的余数的余数?MOD(一一14,3)16.求最大值、最小值函数求最大值、最小值函数MAX(),MIN()【格式】【格式】MAX(,)MIN(,)上一页 下一页返回任务七任务七 常用函数常用函数【功能】求多个数值表达式中的最大值或最小值。【功能】求多个数值表达式中的最大值或最小值。【例【例1】取】取125和和365中的最大值。中的最大值。
50、MAX(125,365)365【例【例2】取】取125和和365中的最小值。中的最小值。MIN(125,365)1257.圆周率函数圆周率函数PI()【格式】【格式】PI()【功能】返回圆周率的值。无自变量。【功能】返回圆周率的值。无自变量。上一页 下一页返回任务七任务七 常用函数常用函数【例【例1】计算并显示半径为】计算并显示半径为5的圆的面积的圆的面积?PI()*5*5 78.54二、字符串操作函数二、字符串操作函数1.求子串的位置函数求子串的位置函数AT()【格式】【格式】AT(,)【功能】求字符串表达式【功能】求字符串表达式1在字符串表达式在字符串表达式2出现的起始位置。出现的起始位置