第1章数据库基础知识课件

PPT
  • 阅读 140 次
  • 下载 0 次
  • 页数 188 页
  • 大小 2.407 MB
  • 2022-12-05 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档40.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
第1章数据库基础知识课件
可在后台配置第一页与第二页中间广告代码
第1章数据库基础知识课件
可在后台配置第二页与第三页中间广告代码
第1章数据库基础知识课件
可在后台配置第三页与第四页中间广告代码
第1章数据库基础知识课件
第1章数据库基础知识课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 188
  • 收藏
  • 违规举报
  • © 版权认领
下载文档40.00 元 加入VIP免费下载
文本内容

【文档说明】第1章数据库基础知识课件.ppt,共(188)页,2.407 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-92315.html

以下为本文档部分文字说明:

数据库应用基础信息学院软件教研室浙江财经学院第1章数据库基础知识重点:表达式、常用函数2内容导航学习提要教学内容要点回顾习题/实验3学习提要与目标了解数据库系统的基本概念熟悉VisualFoxPro开发环境掌握Vis

ualFoxPro数据类型、常量、变量、表达式以及函数4目录1.1数据库系统概述1.2关系模型1.3VisualFoxPro概述1.4VisualFoxPro语言基础1.5本章小结51.1数据库系统概述数据库是一门研究数据管理的技术数据处理对数据的收集、存储、加工

、分类、排序、检索、传播等一系列工作。处理数据的目的是为了管理好数据,使之成为对决策有用的信息。61.1数据库系统概述1.1.1数据管理技术的发展1.1.2数据库系统1.1.3概念数据模型1.1.4逻辑数据模型71.1.1数据管理技术的发展人工管理阶

段数据不具有独立性。数据不能长期保存。没有专门的数据管理软件。8数据管理技术的发展文件系统阶段程序和数据分开存储。专门的软件(文件系统)进行管理。数据没有完全独立、冗余度大、一致性差。9数据管理技术的发展数据库管

理阶段实现数据共享。减少了数据的冗余度。数据和程序独立有统一的数据控制功能,较高的数据安全性、完整性,实现并发控制。提供多种数据操作。101.1.2数据库系统数据库系统是一个存储介质、处理对象和管理系统的集合,由四部分组成。数据库(DataBase,简称DB)是按一定的结构和组织方式存

储在外存储器上的相关数据的集合。具有最小的数据冗余,可供多个用户共享。数据库管理系统(DataBaseManagementSystem,简称DBMS)管理数据的一种系统软件,整个系统的核心。负责对数据的统一管理。(数据定义语句和数据操纵语句)计算机硬件及相关软件基本的计算机硬

件(主机和外设)软件:操作系统、编译解释程序用户数据库DB用户数据库管理系统DBMS软件硬件数据库系统的组成如下:通常有三种用户:数据库管理员(DBA):对数据库系统进行日常维护;程序员:用数据操纵语言和高级语言编制应用程序;终端用户:使用数据

库中数据。按一定的结构和组织方式存储在外存储器上的相关数据的集合负责对数据的统一管理。计算机硬件及相关软件•基本硬件:主机和外设•软件:操作系统、高级语言、编译系统等121.1.3概念数据模型数据库设计的过程是根据人们要解决的问题,首先分析出与问题有关的实体及其属性,再分析出

各实体之间的关系(概念数据模型),然后按照数据库管理系统所能支持的数据模型形成数据库(逻辑数据模型)。信息世界是客观事物(现实世界)在人脑中的反映,客观事物在信息世界中称为实体,反映实体之间联系的模型称为实体模型或概念

模型。131.实体及实体间的联系实体(Entity):客观存在并且可以相互区别的事物,如一个职工、一名学生、一件商品;也可以是抽象事件,如一次销售、一次考试等。属性(Attribute):实体具有的特性。如职

工号、姓名、性别,商品名称等联系(Relationship):事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体内部的联系和实体之间的联系。如职工—销售—商品。实体集(EntitySet):性质相同的同类实体的集合。如所有职工、全体学生等142.实体联系的类型一对一联系(1:1)如果

实体集E1中的每一个实体只能与实体集E2中的一个实体有联系,反之亦然,则称实体集E1与实体集E2是一对一的联系,表示为1:1。例如,一个职工对应一张照片,一张照片一定是某个职工的。15实体联系的类型一对多联

系(1:n)如果实体集E1中的每一个实体能与实体集E2中若干个实体有联系,而实体集E2中每一个实体至多与实体集E1中的一个实体有联系,则称实体集E1与实体集E2是一对多的联系,表示为1:n。例如,一个

职工可能有多笔销售业务,而一笔销售业务一定属于某一个职工。通常,将实体集E1称为‚父‛方或‚一‛方,实体集E2称为‚子‛方或‚多‛方。16实体联系的类型多对多联系(m:n)如果实体集E1中的每一个实体能与实体集E2中若干个实

体有联系,而实体集E2中的每一个实体也能与实体集E1中若干个实体有联系,则称实体集E1与实体集E2是多对多的联系,表示为m:n。例如,一个职工可以销售多个商品,而每一个商品也可以有多个职工销售。173.概念模型的表示方法实体—联系方法用E-R

图来描述概念模型。实体:用矩形框表示,实体名称写在框内。属性:用椭圆形表示,框内注明属性的名称,属性与实体之间用实线连接。联系:用菱形框表示实体间的相互关系,框内注明名称。联系本身也是实体,也可以有属性。连线:用无向连线来连接实体与属性、实体与联系、联系与属性,应标明对应关系,即1:1,1:n,

m:n。18职工实体集的E-R图19销售实体集的E-R图20商品实体集的E-R图返回211.1.4逻辑数据模型数据库中的数据是按照一定的结构和组织方式存放的,这种结构用数据模型来表示。数据模型(也称逻辑数据模型)是现实世界数据特

征的抽象。设计一种数据模型要根据应用系统中所涉及的数据性质、内在联系、管理要求等来组织。目前,比较流行的数据模型有三种:层次、网状和关系模型。221.层次模型层次模型也称树状模型,实质上是一种有根结点的定向有序树有且仅有一个结点无

父结点,称为根结点,其层次最高。一个父结点向下可以有多个子节点,一个子结点向上有且仅有一个父结点。232.网状模型广义地讲,任意一个连通的基本层次联系的集合为网状模型。可以有一个以上的结点无父结点(如图中的R1、R2、R4)。

至少有一个结点有多于一个以上的父结点。243.关系模型关系模型是目前最流行的一种逻辑数据模型。关系模型是以二维表格来表示实体集中实体之间的联系。关系模型中一张二维表称为一个关系,并给它赋予一个名称,称为关系名。返回251.2关系模型20世纪80年代以来,计算机厂商推出的数据库管理系统几

乎都支持关系模型。大型数据库管理系统包括Oracle、Sybase、Informix和SQLServer等。小型数据库管理系统包括VisualFoxPro、Access、Paradox和Betrive等。

甲骨文公司261.2关系模型1.2.1关系的基本概念及关系数据库1.2.2关系的特征1.2.3关系操作1.2.4数据库的完整性规则271.关系的基本概念(1)关系一个关系就是一张二维表,每个关系都有一个关系名。在Vis

ualFoxPro中,一个关系对应一个数据文件,关系名对应于文件名28职工情况表属性或字段属性值或字段值关系模式或表结构元组或记录关系名:职工或文件名:职工.DBF29关系的基本概念(2)元组二维表中的每一行在关系中

称为元组。一个元组对应于数据文件中的一条记录,所以元组也称记录。如表1-1中姓名为‚李红‛的所在行的所有数据就是一个元组,称为一条记录。30关系的基本概念(3)属性二维表中的每一列在关系中称为属性,每个属性都有一个属性名,属性的取值范围取决于各个元组的属性值。如表1-1中的第

2列属性,‚姓名‛是它的属性名,‚李红‛是其中的一个属性值。在VisualFoxPro中属性也就是数据文件中的字段,属性名就是字段名,而属性值对应于各个记录的字段值。31关系的基本概念(4)域域是指二维表中属性的取值范围,取值范围也就决定了表中字段的宽度。例如,表1-

1中属性‚婚否‛的取值范围是.T.或.F.。32关系的基本概念(5)关系模式对关系的描述,一个关系模式对应一个表的结构。关系名(属性1,属性2,属性3,…属性n)例如:职工(职工号,姓名,性别,婚否,出生日期,基本工资,部门,简历,照片);销售(职工号

,商品号,数量);商品(商品号,商品名称,类别,库存量,单价,单位)33关系的基本概念(6)关键字(关键字段或码)在关系中可以用来唯一地标识一个元组的属性或属性组合称为关键字。单个属性的关键字称为‚单关键字‛,多个属性组合的关键字称为‚组合关键字‛。例如,表1-1中的‚职工号‛是‚

单关键字‛,因为每个职工的工号不允许重复。在销售(职工号,商品号,数量)关系中,它的关键字则是‚职工号+商品号‛的组合。34关系的基本概念(7)主关键字(主键)与候选关键字通常在一个关系中,关键字可能不止一个,但主关键字只能有一个,并且取值是确定的。当某关键字选作表的主

关键字后,如果还有其他的关键字,则其他的关键字称为候选关键字。例如,在‚职工‛表中,如果不存在同名同姓的职工记录,则姓名也可以是关键字。但如果选择‚职工号‛作为主关键字,则‚姓名‛就是候选关键字。35关系的基本概念(8)外部关键字如果一个属性在本表中不

是主关键字,而在另一个表中是主关键字,该属性称为外部关键字。例如,在‚销售‛表中的‚职工号‛是‚职工‛表的主关键字,但它并不是‚销售‛表的主关键字。这里,称‚职工号‛属性为‚销售‛表的外部关键字。362.关系表之间的联系1:1联系对于1:1联系类型的信息,设计时可分为两个表或合并

为一个表。如果要将一个表分成许多字段,或因安全原因而隔离表中的部分数据,则可在表与表之间建立一对一的联系关系。例如,可以将‚职工号‛与‚照片‛的有关信息放在一个表中。37关系表之间的联系1:n联系对于1:n联系类型的信息,设计时需将父表中的主关键字放入子表中

,以实现两表之间的有效关联。例如,‚职工‛表与‚销售‛表之间为一对多的联系。具体设计表时,需在‚销售‛表中加进‚职工‛表的主关键字‚职工号‛,作为其外部关键字38关系表之间的联系m:n联系对于m:n联系类型的信息,设计时需要另外增加一个新表,这个表称为‚关联表‛,其中必须包括两个表的主关键字,再加

入两表之间的关联字段,例如,‚职工‛表中的职工与‚商品‛表中的商品是多对多的联系,需要增加‚销售‛表,并在其中包括职工号和商品号,另外加上销售数量,作为‚职工‛表与‚商品‛表的关联字段。393.关系数据库用关系模型建立数据和描述数据之间联系的数据库就是关

系数据库。在关系数据库中,一个数据文件存放一个关系的数据,若干个相关数据文件的集合就组成了关系数据库。在VisualFoxPro中,数据库由4个层次组成:字段、记录、表和数据库。一个关系数据库由若干个数据表组成,每个数据表又由若干个记录组成,而每条记

录又是由若干字段组成的。属于某一数据库的表称为数据库表,而不属于任何数据库的表称为自由表。40职工情况表41商品情况表42销售情况表返回431.2.2关系的特征关系中的每一属性(字段)都是不能再分的基本数据项,即表中不允许有子表。关系中每一属性(字段)必须具有相同的数

据类型(例如,字符型或数值型等)。同一关系中不能出现相同的属性名(字段名)。关系中不应有内容完全相同的元组(记录)。关系中记录和字段的顺序可以任意排列,不影响关系表中所表示的信息含义。返回44关系中每一个属性(列,也称字段)是

不能再分割的基本元素。同一列具有相同的数据类型每个属性被指定一个属性名(字段名),属性名不能重复。关系中不允许有完全相同的记录。(关键字段)行、列顺序可任意变动,不影响表格信息。451.2.3关系操作当对关系数据库进行查询等操作时,

常常需要对关系进行一定的运算处理。基本运算:选择、投影和连接。461.选择按照一定条件在给定关系中选取若干元组(即选取若干记录)的操作。条件通过逻辑表达式给出,条件为真的记录被选出。例如,‚职工‛关系中,按照‚婚否=.F.‛的条件进行选择操作:472.投影在给定关系中选取确定的若干属性(即

选取若干字段)组成新的关系称为投影。例如,‚职工‛关系中,如果选取职工号、姓名和性别3个字段的数据输出:483.连接连接是将两个或两个以上关系模式通过公共的属性名(字段名)拼接成一个新的关系模式,生成的新关系中包含满足连接条件的元组(记录)。例如,根

据职工、销售、商品三个关系模式中共有的职工号、商品号连接成一个新的关系模式,491.2.4数据库的完整性规则数据库的完整性是指数据库中数据的正确性、有效性和一致性实体完整性参照完整性用户自定义完整性501.实体完整性实体完整性是指一个关系表中主关键字的取值必须是确定的、唯一的,不允许为空(null

)值。例如,对‚职工‛表中主关键字‚职工号‛字段、商品表中的主关键字‚商品号‛字段的取值必须确定、唯一,且不能为空值。这就要求在‚职工‛表、‚商品‛表中存储的每一条记录必须满足这一条件,而且在输入新记录、修改记录时也

要遵守这一条件。512.参照完整性数据库的参照完整性是指:在‚子‛表中实现关联的外部关键字,它的取值或者为‚空‛值,或者为‚父‛表中实现相应关联的主关键字值的子集。这也是关系数据库中最主要的一种联系。例如,在‚职工‛表(父表)与‚销售‛表(子

表)之间的参照完整性要求是:‚销售‛表的‚职工号‛字段的取值必须是‚职工‛表‚职工号‛字段取值当中已经存在的一个值。类似地,在‚商品‛表与‚销售‛表之间也必须遵守参照完整性的规则。523.用户自定义完整性用户自定义完整性是用户根据实际应用环境的需求来决定的。通常为某个字段的取值或多个字段之

间取值范围限制等。例如,在‚职工‛表中,‚性别‛字段的取值必须在‚男‛或‚女‛之间。一般情况下,要实现数据库的完整性约束条件及完整性检验,用户需编写相应的代码或利用数据库管理系统提供的功能完成。返回531.3VisualFoxPro概述1.3.1VisualFoxPro的发展及特点1.3.2V

isualFoxPro集成开发环境541.VisualFoxPro的发展简介1982dBASE1989FoxPro1.01984FoxBASEFoxPro2.019911995FoxPro3.02004FoxPro9.01992FoxPro2.5

1998FoxPro6.0552.VFP的主要特点集编程语言和数据库为一体引入可视化编程技术使用面向对象的程序设计方法支持客户机/服务器结构支持Web服务支持对象链接嵌入OLE(ObjectLinkingandEmbedding)技术5621

47483647一个整数的最大值-2147483647一个整数的最小值16数值计算精确值的位数128数据库表中字段名的最多字符数10自由表中字段名的最多字符数20数值(和浮点)型字段的最多字节数254字符型字段的最多字节数字段特征255同时打开的最多表数未限制每个表最多打开的索引文件数254每个表

字段的最多字符数65500每个记录的最多字符数255每个记录的最多字段数2G一个表的最大容量10亿每个表文件的最多记录数数据表文件指标功能分类2GB每个字符串的最多字符数255打开最多Browse窗口数未限制打开最多窗

口(全部类型)数其他128最多分组级层数20英寸(50.8毫米)报表定义最大长度未限制报表定义中最多对象数报表未限制每个过程文件的最多过程数64K编译程序模块的最大值8192每个命令行的最多字符数未限制源程序文件中的最大行数程序文件65000每个数组中元素的最大数目65000数组的最大

数目65000可设置的内存变量最大数目16384默认的内存变量最大数目内存变量与数组指标功能分类返回3.VFP的主要性能指标571.VFP9.0的运行环境运行VisualFoxPro9.0的计算机最低配臵需求:处理器:Pentium级。内存:64MBRAM(推荐128MB或更高)。可用硬盘空间:1

65MB(典型安装)。显示:800×600分辨率,256色(推荐16位增强色)。操作系统:Windows2000sp3及后续版本、WindowsXP和WindowsServer2003。58启动‚开始‛‚所有程序‛‚VisualFoxPro‛W

indows桌面上的快捷图标启动‚开始‛‚运行‛‚浏览‛,找到MicrosoftVisualFoxPro9.0文件夹,启动Vfp9.exe程序。通过Windows的资源管理器或我‚的电脑‛,找到Vfp9.exe程序启动2.VFP的启动与退出59退出在Visua

lFoxPro的‚文件‛‚退出‛。在VisualFoxPro的命令窗口中键入命令QUIT。按Alt+F4快捷键退出。双击VisualFoxPro窗口左上角的控制菜单按钮。单击VisualFoxPro窗口左上角的控制菜单按钮,单击‚关闭‛;或右击VisualFox

Pro标题栏上的任一空闲区域,在控制菜单中单击‚关闭‛;或单击VisualFoxPro窗口右上角的关闭窗口按钮。2.VFP的启动与退出603.VFP的窗口、菜单和工具61窗口VisualFoxPro的窗口包括:命令窗口、数据浏览和编辑窗口、代码编辑窗口、属性窗口、调试器窗口等等。Visu

alFoxPro的主窗口可以包含其中的一个或多个窗口。在开发环境中使用最多的是命令窗口和属性窗口。VisualFoxPro支持3种窗口停靠方式:常规停靠、链接停靠和标签化停靠。当用户在命令窗口直接输入一条命令时,通常可以只输入命令动词的前四个字符,或按空格键系统自动完成命令动词,并通过

下拉列表的方式显示该命令的集合,帮助用户选择,缓解了用户记不清命令的困难。62浏览窗口:用于显示表记录、视图或查询63代码窗口:用于编写、编辑、和显示程序代码64•命令窗口:直接键入命令,和显示所选菜单命令的窗口。注意:命令一行写不下时,可采用自动分行或加入“;”来分行。命令与函数可

以只输入前面的四个字母。65调试窗口:帮助用户调试程序66菜单VisualFoxPro的各种操作命令可以通过菜单系统以交互方式完成。启动系统后,主界面的菜单栏一般包含8个菜单项:文件、编辑、显示、格式、工具、程序、窗口和帮助,各菜单项下还有一系列子菜单。随着当前

执行任务的不同,菜单栏的各个选项会随之动态变化。例如,浏览一个数据表时,‚格式‛菜单项就消失了,而菜单栏自动添加了‚表‛菜单项。67工具栏VisualFoxPro将一些常用的功能,以命令按钮的形式显示在工具栏

中,方便用户使用。默认情况下,系统启动时常用工具栏自动打开,其他工具栏随着某一类型的文件打开而自动打开。例如,新建或打开一个数据库文件时,‚数据库设计器‛工具栏就会自动显示,而关闭数据库文件后,该工具随之关闭。如果用户需要在某一时候打开或关闭一个工具

栏,可选择‚显示/工具栏‛菜单,通过‚工具栏‛对话框,选中或取消选中相应的工具栏。VisualFoxPro还允许根据用户的需要,定制自己的工具栏。684.对话框(1)命令按钮(command):(2)文本框(text):

(3)列表框(list):⑷单选钮(optiongroup):⑸复选框(check):(6)选项卡或页框(page)、标签(label)、编辑框(edit)、微调(spinner)等691.4VFP语言基础1.4.1数据类型1.4.2数据存储1.4.3表达式1.4.4常用函数1.

4.5命令格式与文件类型701.4.1数据类型VisualFoxPro9.0中,涉及的数据类型近20种,可以分为两类:一类用于变量、数组,另一类只能用于表字段。711.4.1数据类型☆数值型数据(Numeric)数值型数据是用于表示数量的一种数据类型,用N表示。它由数字0

~9、小数点和正负号组成。数值型数据的长度为1~20位,在计算机的内存中,每个数据占用8个字节的存储空间,其取范围从-0.9999999999E+19到+0.9999999999E+20。该类数据用于数学计算,如工资、单价、金额等一般用数值型表示

。72数据类型☆字符型数据(Character)字符型数据由字母、数字、空格、符号和标点等一切可打印的ASCII字符和汉字组成,用C表示。字符最大长度为254,一个字符占一个字节的存储空间,汉字也是字符,一个汉字占两个字节。字符型数据一般用来表

示姓名、地址、单位等文本信息。有一类数据,如学号、商品号、电话号码等,虽然都由数字组成,但不用来计算,一般也用字符型表示。73数据类型☆逻辑型数据(Logical)逻辑型数据通常用来表示某个条件是否成立,可取

值为逻辑真(.T.)和逻辑假(.F.)两个值,用L表示。逻辑型数据长度固定为1个字节。逻辑型数据主要用于逻辑判定,如是否已婚、是否满足给定的条件等两种状态的数据,可用逻辑型表示。74数据类型☆日期型数据(Date)日期型数据用来表示日期,用D表示。长度固定为8位,存储格式为‚yyyymmdd‛。日

期型数据的显示有多种格式,默认采用美国格式mm/dd/yy(月/日/年)。可以通过SETDATE、SETCENTURY和SETMARKTO命令改变其显示格式。75日期型数据的命令SETDATETO格式:SETDATE[TO]AMERICAN/ANS

I/BRITISH/FRENCH/GERMAN/ITALIAN/JAPAN/USA/MDY/DMY/YMD功能:指定日期表达式和日期时间表达式的显示格式。76SETDATE设置的日期格式设置值日期格式设置值日期格式AMERICANmm/dd/yyANSIyy.mm.d

dBRITISHyy/mm/ddFRENCHdd/mm/yyGERMANdd.mm.yyITALIANdd-mm-yyJAPANyy/mm/ddTAIWANyy/mm/ddUSAmm-dd-yyMDYmm/dd/yyDMYdd/mm

/yyYMDyy/mm/ddSHORT由Windows中“控制面板”的“短日期格式”决定。LONG由Windows中“控制面板”的“长日期格式”决定。77日期型数据的命令SETCENTURY格式:SETCENTURYOFF/ON功能:设臵显示的日期数据中年份用2位还是4位表示。SETMAR

KTO格式:SETMARKTO<字符>功能:设臵显示的日期数据中使用的分界符。如SETMARKTO‘-’。此外,日期格式还有传统日期格式和严格日期格式之分。78数据类型日期时间型数据(DateTime)日期时间型数据用于保存

日期和时间两部分,用T表示。日期时间型数据占用8个字节,前4字节保存日期,后4字节保存时间,分别是时、分、秒。存储格式为‚yyyymmddhhmmss‛。79数据类型货币型数据(Currency)货币型数据一般用于金融计算,用Y表示。它

具有自动控制小数位数的功能,例如,当货币型字段或变量的数值小数位数超过4位时,VisualFoxPro会将该数据四舍五入。货币型数据存储时占用8个字节间,其取值范围介于-922337203685477.5808~922337203685

477.5807之间,并在货币型数据前加上一个符号‚$‛。80数据类型☆备注型数据(Memo)备注型数据用来存放一些内容较多或长度不确定的文本信息,用M表示。备注型数据在表字段中的长度为4个字节,它存放

的只是一个指针,用于指向字段的真正内容,而该字段的真正内容存放在与表文件同名的一个表备注文件(.FPT)中。当复制和修改含有备注字段的数据表名时,必须同时复制和修改它的表备注文件名。81数据类型☆通用型数据(General)通用型数据专门用来存储OLE对象,

用G表示。与备注型数据一样,通用型数据在表字段中的长度为4个字节,它存放的只是一个指针,其真正的内容也是存放在与数据表同名、扩展名为.FPT的备注文件中。通用字段存储OLE对象的大小仅受可用磁盘空间的限制。82数据类型双精度型数据(Double)

双精度型数据用于存储精度较高且固定位数的浮点数据,用B表示。例如,科学计算的数据就最好设臵为双精度型。双精度型数据占用8个字节,其取值范围介于4.94065645841247E-324~8.98846567431

15E+307之间。83数据类型浮点型数据(Float)浮点型数据功能上与数值型数据等价,用F表示。VisualFoxPro提供浮点型数据主要是为了保持与其他开发软件和系统的兼容性。浮点型数据在内存中占8个字节,在表中占1~20个字节,其

取值范围为-0.9999999999E+19~+0.999999999E+20。84数据类型整型数据(Integer)整型数据用于存储无小数部分的数值,只能用于数据表中的字段,用I表示。整型数据占用4个字节,以二进制形式存储,不像Numeric那样需转换成ASCII码存储。

可以提高程序的性能。整数型数据的取值范围为:-2147483647~2147483646。85数据类型二进制大型对象(Blob)Blob型数据是用来存储各种ASCII文本、可执行文件、字节流,以及具有来确定长度的二进制数据,用W表示。Blob型数据在表中占4个字节,范围受可用内存

的限制或2GB文件限制。Blob型数据为在SQLServer中存储图像提供了更多的便利。要存储固定长度的二进制值,可以使用Varbinary型数据。86数据类型可变(Variant)型数据Variant是一种特殊的数据类型,除了固定长度的字符串外,Va

riant中可以包含任意类型的数据,还可以被设臵为Empty、Error、和NULL等特殊值。此外,VisualFoxPro9.0还提供了CharacterBinary、IntegerAutoinc、Memob

inary、Varchar、VarcharBinary、Varbinary和对象等类型数据。返回871.常量☆数值型常量十进制整数或实数,长度包括整数位数、小数点和小数位数。例如:3.1415926,1.23E+15☆字符型常量用定界符括起来的字符串,定界符可以是西文单引号、双引号或方

括号,字符串由ASCII码中可打印的字符和汉字组成。例如,‚X=‛、‘123’、[数据库]。""是含有3个空格的空格串,而""是长度为零的空串。定界符必须在英文的状态下输入并且成对出现。常量是指在整个程序的执行过程中其值固定不变的量。常用的常量包括:数值型、字符型、逻辑型、日期型、日

期时间型和货币型。88常量☆逻辑型常量用圆点定界符括起来,真和假。逻辑真常量可用.T./.t.、.Y./.y.表示;逻辑假常量则可用.F./.f.、.N./.n.表示。☆日期型常量表示一个确切的日期,默认情况下用严格的日期格式{^yyyy-mm-dd}表示。例

如:CTOD(‚07/30/08‛)、{^2008-7-30}等。通常日期型数据有传统和严格两种格式。89日期格式传统日期格式。系统默认为美国日期格式‚mm/dd/yy‛,可以借助SETDATETO等命令改变设臵。

严格日期格式。{^yyyy-mm-dd}格式书写的日期型数据能表达一个确切的日期,它不受SETDATETO等语句设臵的影响。接受传统日期格式命令:格式:SETSTRICTDATETO[0/1/2]功能:用于

设臵是否对日期格式进行检查。0表示不进行严格的日期格式检查,目的是与早期VisualFoxPro兼容;1表示进行严格的日期格式检查,它是系统默认的设臵;2表示进行严格的日期格式检查,并且对CTOD()和DTOC()函数的格式也有效。90日期格式例题【例1.1】用不同日期格式显示系统当前日期。在命令

窗口输入以下命令(&&后的内容为注释,可以不输入):?DATE()&&调用系统日期函数SETDATETOYMD&&设臵年月日格式?DATE()SETCENTURYON&&设臵年份为4位数字?DATE()SETMARKTO"-"&&设臵分隔

符为‚-‛?DATE()?{^2008-07-31}&&按严格日期格式输出日期常量SETSTRICTDATETO0&&不进行严格日期检查SETDATETOMDY&&恢复美国日期格式SETMARKTO&&恢复默认日期分隔符‚/‛SETCENTURYOFF&&恢复年份为2位数字?{07

/31/08}&&按传统日期格式输出日期常量?CTOD("07/31/08")&&CTOD函数输出日期常量91常量日期时间型常量日期时间型常量包括日期和时间两部分,必须用一对花括号将数据括起来,也有传统和

严格的两种格式。例如,{07/30/0810:12:25am}和{^2008-07-3010:12:25am}。货币型常量货币型常量用来表示货币值,其书写格式与数据型常量类似,只要在数值前面加一个‚$‛符号即可。例如,货币常量$1

23.23,表示123.23元。货币型常量在存储和计算时,系统自动四舍五入到小数4位,例如$58.12345,计算结果为$58.1235。922.变量变量是指在程序执行过程中其值可以改变的量。变量实际上是用标识符命名的存放数据的计算机内存单元。变量有

变量名、变量值、变量类型、长度、变量作用域等属性。变量可分为字段变量和内存变量。内存变量又分为一般内存变量、系统内存变量和数组变量。93内存变量字段变量一般内存变量系统内存变量数组变量变量94变量变量的命名①由字母、汉字、数字和下划线组

成,且必须以字母、汉字或下划线开头。②长度为1~128个字符,每个汉字2个字符。③变量名命名应有意义,且不能与VisualFoxPro的关键字相同。95变量☆字段变量字段变量是将数据表中的字段名作为变量,它是在建立数据表时定义的。每个数据表都包含若干字段变量,其值随着数据表中记录的变化而改变。要

使用字段变量,必须先打开包含该字段的表文件。96变量☆内存变量是一种临时的工作单元,使用时定义,使用完成后可以释放,常用来保存数据或程序运行的结果。内存变量的数据类型取决于变量值的类型,不同时刻可以将不

同类型的数据赋给同一个内存变量。内存变量常用的数据类型有:字符型(C)、数值型(N)、逻辑型(L)、日期型(D)、日期时间型(T)和货币型(Y)。应当注意:当字段变量与内存变量同名时,字段变量的优先级高于同名的内存变量。为了强调是

内存变量,可以在内存变量名的前面冠以前缀‚M.‛或‚M->‛,以示区别。97建立内存变量格式1:<内存变量名>=<表达式>格式2:STORE<表达式>TO<内存变量名表>功能:在定义内存变量的同时确定内存变量的值和类型。说明:定义内存变量、赋值和确定变量的类型在同一个

命令中完成;语句中的<表达式>可以是一个具体的值,也可以是一个表达式。如果是表达式,系统将先计算表达式的值,再将此值赋给变量,即赋值符具有计算和赋值的双重功能;格式1一次只能给一个内存变量赋值,而格式2

可以同时给多个变量赋相同的值,此时,变量之间必须用逗号分隔开。98定义变量【例1.2】‚=‛赋值语句的应用。X=5X=X+1?"X=",X&&显示结果:X=699变量类型【例1.3】变量的类型可以有多种。STORE5TOX

1,X2STORE"王强"TO姓名M=5*X1+X2性别=.T.DVAR={^2008-08-08}100显示内存变量格式1:LIST/DISPLAYMEMORY[LIKE<通配符>][TOPRINTER/TOFILE<

文件名>]功能:显示内存变量的当前信息,包括变量名、属性、数据类型、当前值及总体使用情况等。说明:LIST命令连续滚动显示;DISPLAY分屏显示。LIKE<通配符>可用于有选择的显示部分和全部内存变量。通配符有两个,‚*‛代表所有的字符;‚?‛代表任意一个字符。TOPRINTE

R/TOFILE<文件名>可以将查看的结果在打印机上输出或存入指定的文件。101显示内存变量【例1.4】内存变量赋值并显示。A1=10A2="VFP数据库管理系统"A3=.T.A4=CTOD("08/08/08")LISTMEMORYLIK

EA*&&显示以A开头的内存变量102显示内存变量格式2:?/??[<表达式表>]功能:换行在下一行起始处/在当前行的光标所在处输出各表达式的值。说明:无论有没有指定表达式表,‚?‛都会输出一个回车换行符。如果指定了表达式表,各

表达式值将在下一行的起始处以标准格式输出各项表达式值。‚??‛不会输出一个回车换行符,各表达式值在当前行的光标所在处直接输出。103显示内存变量【例1.4】显示输出上例内存变量A1、A2和A3赋值后的结果。?A1,A2??A3104保存和恢复内存变量格式:

SAVETO<内存变量文件名>[ALLLIKE/EXCEPT<通配符>]功能:将所选择的内存变量保存到指定的内存变量文件中。说明:内存变量文件的扩展名为.MEM;SAVETO缺省可选项,则将所有内存变量(系统内存变量除外)存放到内存变量文件中。

【例1.5】将以字母A开头的所有内存变量保存到内存变量文件A1.MEM中。SAVETOA1ALLLIKEA*105保存和恢复内存变量格式:RESTOREFROM<内存变量文件名>[ADDITIVE]功能:将保存在内存变量文件中的内存变量恢复到计算机内存中来。说明:若使用[ADDITI

VE]选项,则不清除内存中现有的内存变量。【例1.6】清除内存中的所有内存变量,将内存变量文件A1.MEM中的内存变量恢复到内存中,并显示输出。RESTOREFROMA1LISTMEMORYLIKEA*106清除内

存变量格式1:CLEARMEMORY格式2:RELEASE<内存变量表>格式3:RELEASEALL[EXTENDED][LIKE/EXCEPT<通配符>]功能:从内存中清除所指定的内存变量,并释放相应的内存空间。说明:格式1用于清除除系统内存变量外的所有内存变量。格式2

可清除<内存变量表>列出的内存变量。格式3又可以分为4种情况:RELEASEALL清除所有的内存变量。RELEASEALL[EXTENDED]在人-机对话状态下作用与格式1相同,出现在程序中,则应该加入EXTENDED,否则不能删除公共内存变量。RELEASE

ALL[LIKE<通配符>]清除所有与<通配符>相匹配的内存变量。RELEASEALL[EXCEPT<通配符>]清除所有与<通配符>不匹配的内存变量。107数组变量数组是一组有序的数据值的集合,其中的每个数据值称为数组

元素,每个数组元素可以通过一个数值下标引用。若数组元素只有一个下标,称为单下标变量,由单下标变量组成的数组称为一维数组。若数组元素有两个下标,称为双下标变量,其中第一个叫行下标,第二个叫列下标,由双下标变量组成的数组称为二维数组。108定义数组格式:DIMENSION/

DECLARE<数组名1>(<数值表达式1>[,<数值表达式2>])[,<数组名2>(<数值表达式1>[,<数值表达式2>]),…功能:建立若干个一维数组和二维数组。说明:可以用DECLARE或DIMENSION命令建立多个

数组。例如:DECLAREA(10),B(2,3)在建立数组后,数组的各个元素的初始值均为.F.。同一数组的各个元素的数据类型可以不相同。在给数组变量赋值时,如果未指明下标,则对该数组中所有元素同时赋予同一个值。在引用数组时,如果未指明下标,则为该数组的第

一个元素。109数组示例【例1.7】数组变量的定义与赋值DIMENSIONX(5),Y(2,3)&&定义一维数组X和二维数组YY=10&&将10赋给Y数组的所有元素STORE1TOX(1)&&为数组赋给不同

类型的数据X(2)=X&&将X数组第一个元素,即X(1)的值赋给X(2)X(3)="奥运会"X(4)={^2008-08-08}X(5)=.T.?Y(5)&&二维数组可以当作一维数组去存取,即显示Y(2,2)内容110系统内存变量系统内存变量

是VisualFoxPro自动创建并维护的内存变量。默认情况下,它们的属性是PUBLIC(公用变量),也可以声明成PRIVATE(私有变量)。系统内存变量用来保持系统固有信息(例如,文本报表应打印的拷贝数等)。系统内存

变量的名称是通过一个前导下划线(例如,_PCOPIES)来识别的。可以像使用普通内存变量那样使用系统内存变量,但是因为它们由VisualFoxPro预先定义好了,所以一个系统内存变量的类型是固定的。返回1111.4.3表达式用运算符将常量、变量和函数等连接起来构成的有意义的式子称表达式。单独的常量

、变量和函数是表达式的特例,也是表达式。运算是对数据进行加工的过程,描述各种不同运算的符号称为运算符。表达式进行运算后都将返回一个确定的值。1121.数值表达式数值表达式是由数值运算符将常数、变量和函数连接起来构成的有意义的式子,其运算结果为数值型。()括号/除

号+单目运算符正号%取模(余数)–单目运算符负号+加号^或**乘方–减号*乘号113数值表达式规则并排,没有上标和下标。如:X3X^3,X1+X2X1+X2。运算符不能省略。如:2XY2*X*Y。小括号。如:5[X+2(Y+Z)]5*(X

+2*(Y+Z))注意优先级,必要时要添加括号。如:(a+b)/(c-d)。不能出现非VisualFoxPro字符,如:2r2*PI()*R。1142.字符表达式字符表达式是由字符运算符将常数、变量和函数连接起来构

成的有意义的式子,其运算结果是字符串。字符运算符有两种:+:将运算符两边的字符串连接起来,形成一个新的字符串。–:将两个字符串连接时,把第一个字符串的尾部空格移到后面字符串的尾部。115字符表达式示例【例1.8】字符表达式示例。

X="数据库"Y="基础"?X+Y,X-Y1163.日期表达式日期表达式由算术运算符(+或-)将数值表达式、日期型常量、变量和函数连接起来构成的有意义的式子。其运算结果可能是日期型或数值型。两个日期型数据可以相

减,结果是一个数值,表示两个日期之间相差的天数。日期型数据加上一个整数,其结果为一个新的日期。日期型数据减去一个整数,其结果为一个新的日期。117日期表达式示例【例1.9】日期表达式示例。?{^2008-08-08}-{^200

8-08-01}?{^2008-08-08}+31?{^2008-08-08}-311184.关系表达式关系表达式是由关系运算符将数值、字符、日期和逻辑表达式连接起来构成的有意义的式子,其运算结果是逻辑型。关系运算符两边的表达式必须属于同一种类型

。<小于=等于<=小于等于<>或#或!=不等于>大于$字符串包含>=大于等于==字符串精确比较119同类型的数据进行比较数值型数据按其值的大小比较;字符串是‚从左向右‛按其对应的ASCII码值的大小比较;汉字按它的拼音或笔划(汉字机内码)比较。关系运算的结果是逻

辑真(.T.)或逻辑假(.F.)。120同类型数据比较示例【例1.10】关系表达式示例。?3+5>7*2?{^2008-07-21}>{^2007-07-21}+5?"BCD">"CBD"+"AB"?

"计算机">"数据库"&&结果为.F.?.F.>.T.&&结果为.F.121字符串包含$格式:<字符串1>$<字符串2>功能:当<字符串2>包含<字符串1>时,结果为.T.;当<字符串2>不包含<字符串1>时,其结果为.F.。122字符

串精确比较在SETEXACTOFF环境下,当用‚=‛号比较两个字符串是否相等时,‚左匹配‛原则。?'ABC'='ABCD','ABCD'='ABC'.F..T.在SETEXACTON环境下的‚=‛号,相当于是字符串精确比较运算符‚==‛,即‚=‛两边字符串必须逐个字符都相等,结果才为.T.。1

235.逻辑表达式逻辑型表达式是由逻辑运算符将关系表达式、逻辑常量、变量和函数连接起来构成的有意义的式子,其运算结果是逻辑值。逻辑运算符有3种,按优先级顺序排列如下:.NOT.或NOT或!逻辑非.AND.或AND逻辑与.OR.或OR逻辑或124逻辑运算的

的规则AB.NOT.AA.AND.BA.OR.B.T..T..F..T..T..T..F..F..F..T..F..T..T..F..T..F..F..T..F..F.125逻辑运算示例【例1.11】逻辑表达式示例。.NOT.10-6>105>4AND2>78<>

5ORNOT10>12+3126运算优先级优先级别由高到低分别为:括号、数值运算符、字符运算符、日期运算符、关系运算符、逻辑运算符。所有同一级命令都是从左到右进行的,内层的运算优先执行,嵌在最内层括号内的运算首先进行,然后依此由内向外执行。1276.计算表达式命令=格式:=

<表达式1>[,<表达式2>]功能:计算一个或多个表达式的值。说明:该命令的作用是计算一个或多个表达式的值,并不返回其值。例如,=MESSAGEBOX("计算表达式")是正确的命令格式。1287.空值(NULL)空值是计算机语言中的

一个重要概念,空值表示该值目前未知,与数字0、空格字符、逻辑假不同,0、空格、假也是值,只不过是特殊值。表示没有任何值。空值与空字符串或空格串不同。空值排序时在其他数据前面。过程和大多数函数中均可使用空值。返回1291.4.4常用函数两种函数:系统函数和用户自定义函数基本形式为:函数名([<

操作数表达式>])无操作数,例如DATE()函数;由用户输入操作数,例如GETFILE()函数;由用户指定的,否则系统就按有关规定给出。注意函数自变量的类型及函数结果的数据类型1301.数值函数☆取整函数格式:I

NT/CEILING/FLOOR(<数值表达式>)功能:整数部分(舍尾)、最小整数、最大整数。例如:?INT(3.14),INT(-3.14),CEILING(3.14),FLOOR(3.14),FLOOR(

-3.14)结果为:3-343-4131数值函数☆四舍五入函数格式:ROUND(<数值表达式1>,<数值表达式2>)功能:对<数值表达式1>进行四舍五入操作,保留<数值表达式2>位小数。若<数值表达式2>为负数,则对小

数点前第<数值表达式2>位四舍五入。例如:?ROUND(1054.1972,2),ROUND(1054.1972,0),ROUND(1054.1972,-2)结果为:1054.2010541100132数值函数☆取模函数格式:MOD(<数值表达式1>,<数值表达式2>)功能:返

回<数值表达式1>除以<数值表达式2>的余数。若<数值表达式1>与<数值表达式2>同号,则返回值的符号为<数值表达式2>的符号;若两者异号,则返回值为<数值表达式1>除以<数值表达式2>的余数(余数符号与<数值表达式1>相同)加上<数值表达

式2>的值。该函数的功能与运算符%相同。例如:?MOD(5,3),MOD(-5,-3),MOD(-5,3),MOD(5,-3)结果为:2-21-1133数值函数☆最大、小值函数格式:MAX/MIN(<表达式1>,<表达

式2>[,<表达式3>…])功能:返回若干个表达式中的最大或最小数。表达式可以是各种数据类型,但在同一个函数中的表达式的类型应一致。返回值的数据类型与表达式类型一致。例如:?MAX(20,5*8,-70/2),MIN(20,

5*8,-70/2)结果为:40-35134数值函数☆绝对值函数格式:ABS(<数值表达式>)功能:返回<数值表达式>的绝对值。☆平方根函数格式:SQRT(<数值表达式>)功能:返回<数值表达式>的算术平方根,其中<数值表达式>的值不能为负。135数值

函数指数函数格式:EXP(<数值表达式>)功能:返回以e为底的指数值,<数值表达式>为e的指数部分。例如:?ABS(30-75),SQRT(64),EXP(0),EXP(1)结果为:458.001.002.72对数函数格式:LOG(<数值表达式>)功能:返回<数值表达式>的自然对数的值。136数值

函数符号函数格式:SIGN(<数值表达式>)功能:根据<数值表达式>的值为正、零、负数分别返回1、0、-1。例如:?SIGN(3.14),SIGN(0),SIGN(-3.14)结果为:10-1☆随机函数格式:RAND([<数值表达式>])功能:返回一个0~1之间的随机

数。如果要产生A到B之间的随机实数,可以用表达式(B-A)*RAND()+A实现。例如:?RAND(),RAND(-1)结果可能为:0.490.24137数值函数正弦函数格式:SIN(<数值表达式>)功能:返回<数值表达式>

所表示弧度的正弦值。☆值函数格式:PI()功能:返回圆周率的值。角度转变为弧度函数格式:DTOR(<数值表达式>)功能:将<数值表达式>由角度转变为弧度。例如:?SIN(PI()/2),SIN(DTOR(90))结果为:1.001.0

01382.字符函数☆宏代换函数格式:&<字符型内存变量>[.<字符表达式>])功能:用字符型内存变量的‚值‛代替内存变量的‚名‛。宏代换的作用范围是从符号‚&‛起,直到遇到一个圆点符‚.‛或空白为止。例如:

A='1+2'?&A&&结果为数值3STORE"ZG.DBF"TOXUSE&X&&相当于执行指令USEZG.DBF139字符函数宏代换函数注意,宏代换函数可以改变数据类型,将某些字符型常量转变为逻辑型、数值型。宏代换函数的替换是间接的。例如:X=".T."Y="1"A="DAT

E()"B="A"?3>2.AND.&X,&A+&Y结果为:.T.02/24/09&&设当前日期为2009/02/23140字符函数☆表达式计算函数格式:EVALUATE(<字符表达式>)功能:返回<字符表达式>的值。EVAL

UATE()函数具有与&类似的功能。例如:A="9*5"?EVALUATE(A)结果为:45141字符函数☆名表达式格式:(<字符表达式>)功能:名表达式也具有与上述&和EVALUATE()函数类似的功能。说明:所谓名表达式就是用一对括号将名称括起

来,以实现替换功能。VisualFoxPro的许多命令与函数都要指定一个名称以便让其了解处理的对象,这些名称是文件名、字段名、窗口名、菜单名、数组名、内存变量名等。名不是变量或字段,但可以定义一个名表达式,以代替同名的

变量或字段的值。142宏代换示例例如:A="1+2"B="A"B,(B),&B,EVALUATE(&B)结果为:AA1+23X="职工.DBF"USE(X)&&相当于执行了USE学生.DBF命令Y="姓名"REPLACE(A)WITH"李明"143字符函数☆删除空格函数格

式:ALLTRIM/LTRIM/TRIM(或RTRIM)(<字符表达式>)功能:删除<字符表达式>中的前后空格/前导空格/尾部空格。例如:?ALLTRIM("数据库")+LTRIM("应用")+TRIM("基础")结果为:数据库应用基础144字符函数☆取左子串函数格式:LEFT(<字

符表达式>,<数值表达式>)功能:从<字符表达式>最左边开始截取<数值表达式>个字符。若<数值表达式>的值大于<字符表达式>的长度,则该函数值返回整个字符串;若<数值表达式>小于或等于零,该函数返回一个空串。145字符函数☆取右子串函数格式:RIGHT(<字符表达式>,<数值表

达式>)功能:从<字符表达式>最右边开始截取<数值表达式>个字符146字符函数☆取子串函数格式:SUBSTR(<字符表达式>,<数值表达式1>[,<数值表达式2>])功能:从<字符表达式>的<数值表达式1>开始截取<数值表达式2>个字符。若缺省<数值表

达式2>或其值大于<字符表达式>长度时,则将截取<数值表达式1>指定位臵起至最后一个字符为止的子串。当<数值表达式1>的值为0时,输出空串。147取子串示例例如:X="08/09/08"?RIGHT(X,2)+"年"+LEFT(X,2)+"月"+SUBSTR(X,4,

2)+"日"结果为:08年08月09日148字符函数☆子串检索函数格式:AT(<字符表达式1>,<字符表达式2>[<数值表达式>])功能:返回<字符表达式1>在<字符表达式2>中第<数值表达式>次出现的位臵。若<字符表达式1>不在<字符表达式

2>中则返回0,若不给出<数值表达式>则隐含为1。输出值的类型为数值型。例如:?AT("Fox","VisualFoxPro9.0")结果为:8149字符函数字符串替换函数格式:STUFF(<字符表达式1>,<数值表达式1>,<数值表达式2>,<字符表达式2>)功能:用<字符表达式

2>替换<字符表达式1>中的一部分字符。<数值表达式1>指定替换的起始位臵,<数值表达式2>则为要替换的字符个数。例如:?STUFF("浙江财经学院",9,4,"大学")结果为:浙江财经大学150字符函数☆字符串长度函数格式:LEN(<字符表达式>)功能:返回<字符表达式>的长度。输出

值的类型为数值型。例如:?LEN("VisualFoxPro9.0"),LEN("数据库")结果为:166151字符函数☆空格函数格式:SPACE(<数值表达式>)功能:返回<数值表达式>个空格。输出值的类型为字符型。例如:?"浙江"+SPACE(6)+"杭州"

结果为:浙江杭州152字符函数字符重复函数格式:REPLICATE(<字符表达式>,<数值表达式>)功能:将<字符表达式>重复<数值表达式>次输出。输出值的类型为字符型。例如:?REPLICATE("*",10)结果为:**********1533.日期时间

函数☆系统日期函数格式:DATE()功能:返回当前系统日期。输出值的类型为日期型。☆系统时间函数格式:TIME([<数值表达式>])功能:以时、分、秒(hh:mm:ss)返回当前系统时间。如果包含有<数值表达式>,则返回的时间包含百分之几秒,<数值表达式>可以是任何值。输出值

的类型为字符型。154日期时间函数日期时间函数。格式:DATETIME()功能:该函数返回当前系统日期时间。输出值的类型为日期时间型。☆年份函数格式:YEAR(<日期表达式/日期时间表达式>)功能:返回<日期表达式>或<日期时间表达式>的年份的数值。输出值的类型为数值型。15

5日期时间函数月份函数格式:MONTH/CMONTH(<日期表达式/日期时间表达式>)功能:MONTH()函数返回<日期表达式>或<日期时间表达式>的月份数值,输出值的类型为数值型。CMONTH()返回名称,输出值的类型为字符型。星期函数格式:DOW/

CDOW(<日期表达式/日期时间表达式>)功能:DOW()函数返回<日期表达式>或<日期时间表达式>的星期几的数值,星期日是一个星期的第一天,输出值的类型为数值型。CDOW()函数返回星期几的名称,输出值的类型为字符型。156日期时间函数日期函数格式:DAY(<日期表达式/日

期时间表达式>)功能:该函数返回<日期表达式>或<日期时间表达式>日期的数值,输出值的类型为数值型。例如:?YEAR(DATE()),MONTH(DATE()),DAY(DATE()),DOW(DAT

E()),CDOW(DATE())结果为:200808097星期六1574.转换函数☆数值型转换成字符型函数格式:STR(<数值表达式1>[,<数值表达式2>[,<数值表达式3>]])功能:将<数值表达式1>的值转换成字符型数据。<数值表

达式2>决定总长度,当其大于实际数值的位数时,则在前补空格;当其小于实际数值的位数时,则输出指定个数的‚*‛号。<数值表达式3>指定小数位数,当位数大于实际数值的小数位数,则在后补0;当位数小于实际数值的小数位数,则四舍五入处理。缺省<数值表达式3>则只有整数部分,同时缺省<数值表

达式2>,则字符串前补相应位数的空格至10位。例如:?STR(123.4,6,2),STR(123.4,5),STR(123.4),STR(123.4,2)结果为:123.40123123**158转换函数☆字符转换成数值函数格式:V

AL(<字符表达式>)功能:将字符型数据转换为数值型数据。转换从第一个数字字符开始,直到遇到非数字字符为止,可以包含负号。小数位由SETDECIMALSTO命令决定,默认值为2。例如:?VAL("-1

23.4567"),VAL("12ABCD.3456")结果为:-123.4612.00159转换函数☆字符转换ASCII码格式:ASC(<字符表达式>)功能:返回<字符表达式>中首字符的ASCII码的十进制数,输出值的类型为数值型

。☆ASCII码转字符函数格式:CHR(<数值表达式>)功能:把<数值表达式>的值转换为相应的ASCII码字符,输出值的类型为字符型。例如:?ASC("APPLE"),CHR(97)结果为:65a160转换函数☆字母小写转大写函数格式:UPPER(<字符表达式>)功能

:将<字符表达式>中所有小写字母转换成大写字母。☆字母大写转小写函数格式:LOWER(<字符表达式>)功能:该函数将<字符表达式>中所有大写字母转换成小写字母。161转换函数☆字符转换日期函数格式:CTOD(<字符表达式>)功能:把字符型日期转换成日期型日期

,缺省格式为‚mm/dd/yy‛。例如:?CTOD("08/09/08")结果为:08/09/08&&是美国日期2008年08月09日日期转换字符函数格式:DTOC(<日期表达式>[,1])功能:该函数用于把日期型日期转换成字符型日期。加选择参数1,则输出格式转换为年、月、日,年份为4位,输出值

的类型为字符型。例如:?DTOC(DATE()),DTOC({^2008-08-09},1)结果为:08/09/08200808091625.数据表函数☆字段数函数格式:FCOUNT([<工作区号>/<别名>])功能:返回指定工作区中打开表的字段数。若指定工作区中没

有打开的表,则返回0。输出值的类型为数值型。例如:USE职工?FCOUNT()&&输出职工表的字段数9163数据表函数字段名函数格式:FIELDS(<数值表达式>[<工作区号>/<别名>])功能:返回指定工作区中第<数值表达式>个字段的名你。输出值的类型为字符型。例如:USE职工?FI

ELD(1)&&职工表的第一个字段的名称职工号164数据表函数☆表头测试函数格式:BOF([<工作区号>/<别名>])功能:当把记录指针移到表文件的首记录之前(表头)时,该函数值为.T.,否则返回.F.。[

<工作区号>/<别名>]用于指定工作区,缺省为当前工作区。☆表尾测试函数格式:EOF([<工作区号>/<别名>])功能:当把记录指针移到表文件的末记录之后(表尾)时,该函数值为.T.,否则返回.F.。165数据表函数☆记录数测试函数格式:RECCOUNT(

[<工作区号>/<别名>])功能:返回指定工作区中表文件记录总数(包括已作删除标记的记录)。若指定工作区中没有打开的表文件,则返回0。输出值的类型为数值型。例如:USE职工?RECCOUNT()&&测试职工表的记录总数10166数据表函数☆记录号测试函数格式

:RECNO([<工作区号>/<别名>])功能:返回指定表中当前记录号,如果指定的工作区没有打开的表文件,则返回0;若是一个空表,则RECNO()=1且EOF()=.T.、BOF()=.T.;若记录指

针移到表尾(EOF()=.T.),则RECNO()=总记录数+1;若记录指针移到表头(BOF()=.T.),则RECNO()的值与首记录号相同。输出值的类型为数值型。1676.测试函数☆数据类型测试函数格式:TYPE(<表达式>)功能:返回<表达式>的数

据类型所对应的字母。它要求必须将<表达式>用字符定界符括起来。输出值的类型为字符型。例如:?TYPE("10+8"),TYPE(".F.OR.T."),TYPE("DATE()")结果为:NLD168测试函数☆新数据类型测试函数格式:VARTYPE(<表达式>)功能:返

回<表达式>的数据类型所对应的字母,如表1-10所示。该函数功能与TYPE相同,但不要求将<表达式>用字符定界符括起来,是TYPE功能的升级。输出值的类型为字符型。例如:?VARTYPE(10+8),VARTYPE(.F.OR.T.)

,VARTYPE(DATE())结果为:NLD169VARTYPE()的返回值返回字母对应的数据类型返回字母对应的数据类型C字符型、备注型、随意字符型、二进制随意字符型O指OLE对象Q二进制型、变体型D日期型T日期时间型G通用型U未定义,表示参数有错,无法

返回正确类型L逻辑型X.NULL.值N数值型、浮点、双精度、整型Y货币型170测试函数☆之间函数格式:BETWEEN(<表达式1>,<表达式2>,<表达式3>)功能:当<表达式1>大于或等于<表达式2>而又小于或等于<表达式3>时,函数返回.T.,否则返回.F.。171

测试函数空函数格式:EMPTY(<表达式>)功能:当<表达式>为空时,EMPTY()函数返回.T.,否则返回.F.。<表达式>为空对于不同类型的数据有不同的定义,172NULL值定义数据类型<表达式>为空的定义C空字符串、空格、制表符、回车符、换行符

或其任意组合N、Y、F、B、I0L逻辑假.F.D空日期型,如CTOD(“”)T空日期时间型,如CTOT(“”)M空白(即没有任何内容存在于备注字段)G空白(即没有任何OLE对象存在于通用字段)173测试函数☆查询结果函数格式:FOUND(

[<工作区号>/<别名>])功能:如果LOCATE、CONTINUE、SEEK、FIND等命令查找成功,则返回.T.,否则返回.F.。也可以通过EOF()的状态来判断。☆文件测试函数格式:FILE(<字符表达式>)功能:测试指定的文件是否存在,其中文件名必须包含扩展名。若该文件存在,则返

回.T.,否则返回.F.。1747.其他函数☆条件函数格式:IIF(<逻辑表达式>,<表达式1>,<表达式2>)功能:当<逻辑表达式>的值为.T.时,返回<表达式1>的值;为.F.时返回<表达式2>的值。输出值的类型由

<表达式1>或<表达式2>确定。例如:N=10?IIF(N>9,STR(N,2),STR(N,1))结果为:10175其他函数☆自定义对话框函数格式:MESSAGEBOX(<提示信息>[,<数值表达式>[,<标题信息>]])功能:显示一个用户自定义对话框。输出值的类型为数值型。说

明:<提示信息>:指定在对话框中显示的字符串提示信息。如果要显示多行文字,可以在各行之间加CHR(13)。<数值表达式>:指定对话框的类型参数,包括:按钮种类、图标类型经及焦点选项按钮。省略<数值表达

式>时,等同于指定<数值表达式>值为0。176对话框参数及类型数值按钮类型数值图标类型数值焦点选项0确定0无图标0第1个按钮1确定、取消16停止图标256第2个按钮2放弃、重试、忽略32问号图标512第3个按钮3是、否、取消48惊叹号图标4是、否64信息图标5重试、取消177其他函

数自定义对话框函数<标题信息>:指定对话框标题栏中的字符串信息。若省略<标题文本>,标题栏中将显示‚MicrosoftVisualFoxPro‛。MESSAGEBOX()的返回值标明选取了对话框中的哪个按钮。在含有取消按钮的对话框中,如果按下ESC键退出对话框,则与选取‚取消‛按钮一样,返

回值为2。例如:MESSAGEBOX("真的要退出吗?",4+32+0,"提示信息")178按钮返回值选择按钮返回值选择按钮返回值确定1忽略5取消2是6放弃3否7重试4返回1791.命令格式第一部分是命令动词,也称关键字,它指明命令的功能;第二部分是包含有几个

跟随在命令动词后面的功能子句,这些子句通常用来对执行的命令进行一些限制性的说明。命令动词[<范围>][FIELDS<字段名表>][FOR<条件>][WHILE<条件>][TOPRINTER[PROMPT]/TOFILE<文件

名>][NOOPTIMIZE][OFF]命令动词:给出该命令应完成的功能。180命令格式☆<范围>子句:表示命令对表文件进行操作的记录范围ALL:对表文件所有的记录进行操作。NEXTn:对从当前记录开始的连续若干个指定的记录

进行操作。RECORDn:只对第n条记录进行操作。REST:对从当前记录开始到表文件尾为止的所有记录进行操作。181命令格式☆FOR<条件>和WHILE<条件>子句:均实现对表的记录筛选,完成关系的选择运算。①FOR子句将范围内的所有满足条件的记录都作为操作对象;WHILE子

句将范围内的满足条件的记录都作为操作对象,一旦遇到第1条不满足条件的记录时,就停止操作而不管后面是否还有满足条件的记录。②当<范围>子句缺省时,FOR子句的操作对象是全部记录,WHILE子句的操作对象是REST。③当一条命令中FOR、WHILE同时存在时,WH

ILE子句优先。182命令格式☆FIELDS<字段名表>子句该子句实现对表的字段筛选,完成关系的投影运算。用于规定当前处理的字段和表达式。缺省时显示除备注型、通用型字段外的所有字段。☆OFF子句不显示记录号。如果省略了OFF,就在每个记录前显示记录号。183命令

格式TOPRINTER[PROMPT]子句将命令的结果定向输出到打印机。如果包含可选的PROMPT子句,则在打印开始前显示一个对话框,可以调整打印机的设臵。TOFILE<文件名>子句。将命令的结果输出定向到<文件名>指定的文件中。如果文件已经存在,且SETSAF

ETY设臵为ON,将提示你是否要改写此文件。1842.命令的书写规则命令动词开始,回车键结束,空格隔开。功能子句的次序不影响命令的行结果。符号为半角英文。智能提示功能。分号‚;‛换行。<>:必选项;[]:可选项;/:任选项。这些符号并非命令或函数的

组成部分。1853.文件类型(常用)扩展名文件类型扩展名文件类型.BAK备份文件.MEM内存变量文件.CDX复合索引文件.MNT菜单备注文件.DBC数据库.MNX菜单文件.DBF表.MPR生成的菜单程序文件.DCT数据库备注文件.MPX编译的菜单程序文件

.ERR编译错误信息文件.PJT项目备注文件.EXE可执行文件.PJX项目文件.FPT表备注文件.PRG程序文件.FRT报表备注文件.QPR生成的查询程序.FRX报表文件.QPX编译后的查询文件.FXP编译的程

序文件.SCT表单备注文件.HLP图形帮助文件.SCX表单文件.IDX标准索引及压缩索引文件.TBK备注备份文件.LBT标签备注文件.TMP临时文件.LBX标签文件.TXT文本文件返回1861.5小结数据库的3种逻辑模型;关系模型及关系数据库的基本概念;关系数据库的主要特

点及选择、投影、连接3种基本操作;数据库的完整性规则;数据库组成的4个层次:字段、记录、表和数据库。VisualFoxPro的发展、特点、主要技术指标以及集成开发环境。VisualFoxPro的基本数据类型;常量与变量的概念;变量的基本操作;各种运算

符及它们之间的优先级;各种表达式的基本操作。VisualFoxPro的常用函数的使用方法。特别要注意每一个函数的输入输出数据类型。返回187本章要点回顾数据处理技术发展经历了哪三阶段?数据库系统由哪几部分组成?什么是概念模型

?如何表示实体及其之间的联系?实体之间的联系有几种类型?什么是逻辑数据模型?常用的逻辑数据模型有哪些?关系模型是怎样表示数据及其联系的?什么是关系表的元组、属性、关系模式、关键字?什么是数据库?什么是数据库管理系统?V

FP是什么?关系模型是怎样表示数据及其联系的?关系模型常用的三种基本运算?数据库的数据分为哪几个层次?什么是数据库的完整性,数据库完整性包括哪几部分?VisualFoxPro支持的数据类型有几种?常用的数据类型有哪些?188课后习题一、判断题二、选择题三、实验1Visua

lFoxPro环境与表达式、常用函数的使用

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?