VFP数据库管理系统概述课件.ppt

上传人:scccc 文档编号:13995849 上传时间:2022-01-30 格式:PPT 页数:47 大小:218.50KB
返回 下载 相关 举报
VFP数据库管理系统概述课件.ppt_第1页
第1页 / 共47页
VFP数据库管理系统概述课件.ppt_第2页
第2页 / 共47页
VFP数据库管理系统概述课件.ppt_第3页
第3页 / 共47页
VFP数据库管理系统概述课件.ppt_第4页
第4页 / 共47页
VFP数据库管理系统概述课件.ppt_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《VFP数据库管理系统概述课件.ppt》由会员分享,可在线阅读,更多相关《VFP数据库管理系统概述课件.ppt(47页珍藏版)》请在三一文库上搜索。

1、第二章 VFP语言基础,2.1 数据类型2.2 数据存储容器2.3 函数2.4 运算符及表达式2.5 空值处理,2.1 数据类型,2.2 数据存储容器,一、名称命名规则名称中只能包含字母、下划线“_”、数字符号和汉字符号名称的开头只能是字母、汉字或下划线,不能是数字除了自由表的字段名、表的索引标识名至多只能是10个字符外,其余的名称的长度可以是1128个字符应避免使用系统保留字,二、常量 常量是指在所有的操作过程中保持不变的数据。数值型常量数值型常量用于表于数量的大小,由数字、小数点和正负号构成。如-3.15、38等。对于特大或特小的数,还可以用浮点表示法。如-3.12E28(表示-3.121

2、028)、3.12E-28(表示3.12 10-28)。,货币型常量 货币型常量用来表示货币值。在表示货币型常量时,需在数字前加上美元符号($)。如$100.35。字符型常量 字符型常量也称为字符串,它是由定界符括起来的一串字符,这些字符可以是一切可以表示的字符,如ASCII字符、汉字等。 字符串定界符可以是单引号、双引号或方括号。如苏A-001、“5112613”、VFP等。,注意:不能用中文标点的单引号或双引号作为字符串的定界符定界符必须成对匹配如果某种定界符本身也是字符串的内容,则需要用另一种定界符表示该字符串不包含任何字符的字符串(“”)称为“空串”,它与包含空格的字符串(“ ”)不同

3、字符串中的字母,其大小写不等价,逻辑型常量 逻辑型常量只有两个:逻辑真和逻辑假。逻辑真的表示形式有:.T. 、.t. 、.Y.和.y.,逻辑假的表示形式有:.F. 、.f. 、.N.和.n.。 注意:字母前后的点符号是逻辑型常量的定界符,不可省略。日期型常量 日期型常量的定界符是一对花括号。在花括号内,包括年、月、日,各部分之间用分隔符进行分隔。其语法形式如下:yyyy/mm/dd如2002/08/09、1998/12/01等。,三、内存变量 内存变量(简称变量)是由用户自定义的内存中的一个(组)存储单元,由变量名进行标识,其值可以由程序操作修改。在使用过程中,该存储单元中存放的数据在程序操作

4、期间通过变量名来读写。变量的创建及赋值格式:STORE TO 或 =注意:STORE命令可一次给多个变量赋相同的值,而用赋值号(=)一次只能给一个变量赋值。,访问变量 若变量和字段相同,则字段具有更高的优先权。在出现这种情况时,可在变量名前加上“m.”前缀来引用变量。例:Xh=我是变量&定义一个字符型变量xh? M.xh &显示变量xh的值? Xh&显示xs表的xh字段的值? Xs.xh&显示xs表的xh字段的值,内存变量的保存与恢复内存变量是系统在内存中设置的临时存储单元,当退出VFP时其数据自动丢失。格式:SAVE TO ALL LIKE Skeleton|ALL EXCEPT Skele

5、ton功能:将内存变量的值以文件的形式保存到磁盘上。其中:为内存变量文件的文件名,默认扩展名为.mem。 Skeleton为变量名通配符,即星号(*)和问号(?),用以指定多个变量。,ALL LIKE用于指定需要保存的变量。 ALL EXCEPT用于指定不需保存的变量。 当可选项缺省时表示保存所有内存变量。格式:RESTORE FROM ADDITIVE功能:将保存在内存变量文件中的内存变量恢复到内存。说明:为内存变量文件名。 若使用ADDITIVE,则内存中保存已有内存变量,如有同名则覆盖,否则,当前内存变量被清除。,四、数组 数组也是一种内存变量,它是存储在内存中的有序的数据值系列,其中的

6、数据值被称为元素,并可通过数据序号引用。数组可以为一维数组,也可以为二维数组。数组在使用前必须先声明。,数组的声明DECLEAR|DIMENSION|PUBLIC|LOCAL 数组名(行数,列数)说明:DECLEAR和DIMENSION声明“私有数组”,PUBLIC声明“全局数组”,LOCAL声明“局部数组”。为数组元素赋值数组在声明后,每个元素的默认值为逻辑值假.F.。DIMENSION A(6) &定义数组A,有6个元素A(2)=3 &为第二个元素赋值A=3 &为整个数组A赋值,所有元素值均为3,2.3 函 数,函数是一种预先编制好的程序代码,可供用户或程序调用。由于一个函数接收一个或多个

7、参数而返回单个值,因此可嵌入到一个表达式中。函数格式: 函数名(参数1,参数2,)一、系统函数的分类,二、常用函数介绍数值函数ABS()函数格式:ABS(nExpression)功能:返回指定数值表达式的绝对值。MAX()函数格式:MAX(eExpression1,eExpression2,eExpression3,)功能:对表达式求值,并返回具有最大值的表达式的值。,MIN()函数格式:MIN(eExpression1,eExpression2,eExpression3,)功能:对表达式求值,并返回具有最小值的表达式的值。INT()函数格式:INT(eExpression)功能:计算数值表达

8、式的值,并返回其整数部分。 MOD()函数格式:MOD(nDividend,nDivisor)功能:用一个数值表达式的值去除另一个数值表达式的值,返回余数。,ROUND()函数格式:ROUND(nExpression,n)功能:四舍五入函数。说明:n为小数位数,当n0时,即对小数点后n+1位四舍五入;当n0时,对小数点前面的n位进行四舍五入。SQRT()函数格式:SQRT(nExpression)功能:返回数值表达式值的平方根。RAND()函数格式:RAND()功能:返回一个01之间的随机数。,字符函数ALLTRIM()函数格式:ALLTRIM(cExpression)功能:去除指定字符串的前

9、导空格和尾随空格。RTRIM()函数格式:RTRIM(cExpression)功能:去除指定字符串的尾随空格。LEN()函数格式:LEN(cExpression)功能:返回字符表达式值的字符个数(字符串长度)。,AT()函数格式:AT(cSearchExpression,cExpressionSearched,nOccurrence)功能:返回一个字符表达式或备注字段cSearchExpression在另一个字符表达式或备注字段cExpressionSearched中出现的位置。 nOccurrence表示第几次出现,缺省为1。如函数返回值为0,则表示未出现。SUBSTR()函数格式:SUBS

10、TR(cExpression,nStartPosition,nCharactersReturned)功能:从给定的字符表达式或备注字段中返回一个子字符串。 nCharactersReturned用于指定返回的字符个数,缺省时返回字符表达式的值结束前的全部字符。,LEFT()函数格式:LEFT(cExpression,nExpression)功能:从字符表达式最左边一个字符开始返回指定数目字符。RIGHT()函数格式:RIGHT(cExpression,nExpression)功能:从字符表达式最右边一个字符开始返回指定数目字符。SPACE()函数格式:SPACE(nExpression)功能:

11、返回由指定数目的空格构成的字符串。,日期/时间函数DATE()函数格式:DATE( )功能:返回当前系统日期。DATETIME()函数格式: DATETIME( )功能:返回当前系统日期和时间。,DOW()函数格式:DOW(dExpression| tExpression)功能:返回日期或日期时间表达式所代表日期是一周的第几天,用数值1-7表示(1表示星期日)。DAY()函数格式:DAY(dExpression| tExpression)功能:以数值返回日期或日期时间表达式所代表日期是几号。MONTH()函数格式:MONTH(dExpression| tExpression)功能:以数值返回日

12、期或日期时间表达式所代表的月份。,CMONTH()函数格式:CMONTH(dExpression| tExpression)功能:以字符返回日期或日期时间表达式所代表的月份。YEAR()函数格式:YEAR(dExpression| tExpression)功能:以数值返回日期或日期时间表达式所代表的年份。TIME()函数格式:TIME( )功能:以24小时制、8位字符串格式(hh:mm:ss)返回当前系统时间。,数据类型转换函数ASC()函数格式:ASC(cExpression)功能:返回字符表达式中最左边字符的ASCII值。CHR()函数格式:CHR(nExpression)功能:计算数值表

13、达式的值,然后以该值作为ASCII值,返回对应的字符。VAL()函数格式:VAL(cExpression)功能:从左至右逐个将字符表达式中的字符转换成数值,若不能转换则停止。,DTOC()函数和TTOD()函数格式:DTOC(dExpression|tExpression ,1)功能:将日期表达式或日期时间表达式的值转换成字符串。格式:TTOC(tExpression ,1|2)功能:将日期时间表达式的值转换成字符串。其中:参数“1”用于指定以年月日顺序且无分隔符的形式返回字符串,参数“2”用于指定仅返回含时间部分的字符串。,CTOD()函数和CTOT()函数格式:CTOD(cExpressi

14、on)功能:将字符表达式值转换成日期型数据。格式:CTOT(cExpression)功能:将字符表达式值转换成日期时间型数据。其中:字符表达式cExpression 的求值结果必须是从1/1/1000至12/31/9999范围内的一个有效日期,其默认格式是mm/dd/yy。如输入日期时未指定世纪,则假定为20世纪。,STR()函数格式:STR(nExpression , nLength , nDecimalPlaces)功能:将数值表达式的值转换成对应的字符串。其中:长度nLength 用于指定STR()返回的字符串长度。该长度包括小数点在内。如指定长度大于整个数值的宽度,则用前导空格填充;如

15、小于,则返回一串星号“*”。 nLength缺省时默认宽度为10。 nDecimalPlaces用于指定STR()返回的字符串中的小数位数,缺省时默认为0。,其他常用函数BETWEEN()函数格式:BETWEEN(eTestValue , eLowValue , eHighValue)功能:判断一个表达式的值是否在另外两个相同数据类型的表达式的值之间,如是,则返回.T.,否则返回.F.。说明:如eLowValue或 eHighValue为NULL值,则返回NULL值。,INKEY()函数格式:INKEY(nSeconds)功能:返回一个键码值,该值对应于键盘缓冲区中第一个按键操作。其中: nS

16、econds用于INKEY()函数对键击的等待时间,缺省时INKEY()函数立即返回一次键击的值,为0时INKEY()函数一直等到有键击为止。TYPE()函数格式:TYPE(eExpression)功能:返回表达式的值的类型。如返回“U”,则表示表达式的值的类型不确定。,IIF()函数格式:IIF(lExpression , eExpression1 , eExpression2)功能:根据逻辑表达式的值返回两个值中的一个。其中:逻辑表达式lExpression的值为条件,当条件值为真时返回eExpression1的值,否则返回eExpression2的值。DISKSPACE()函数格式:DI

17、SKSPACE( )功能:返回默认磁盘驱动器上可用的字节数(存储空间)。说明:如该函数的值为-1,表示默认磁盘驱动器中没有磁盘 。,FILE()函数格式:FILE(c)功能:测试磁盘上是否存在指定的文件。说明:c是一个字符串,用于指定一个文件,如该文件存在,则返回.T.,否则为.F.。GETFILE()函数格式:GETFILE(c ,cText)功能:显示“打开”对话框,并返回选定文件的名称。其中:c用于指定显示文件的类型,如有多种类型,扩展名间以“;”分隔,扩展名允许使用通配符“?”和“*”。字符串cText用于指定文件文本框前的标签。,MESSAGEBOX()函数格式: MESSAGEBO

18、X(cMessageText , nDialogBoxType , cTitleBarText)功能:显示一个用户自定义对话框。其中: cMessageText用于指定对话框中显示的文本,在表达式中包含回车符(HR(13)),可使用信息分行显示;nDialogBoxType用于指定对话框中的按钮、图标及默认按钮等,默认值为0; cTitleBarText 用于指定对话框的标题,默认为“Microsoft Visual FoxPro”。函数返回值标明选取了对话框中的哪个按钮。详见教材P57表2-6、表2-7、表2-8、表2-9。,2.4 运算符及表达式,一、数值运算符及表达式,数值表达式中的数据

19、类型必须为数值型,其结果也为数值型。? 23%53? 23%(-5)-2? -23%52? -23%(-5)-3,二、字符运算符及表达式,说明: “+”是将两个字符串精确地进行连接,构成一个字符串。“-”的运算结果基本同+运算,只有当字符串1中出现尾随空格时,其结果与“+”不同,它将字符串1的尾随空格移至整个字符串的最后。 尾随空格:一个空格的后面除了空格外没有其它任何字符,则该空格称为尾随空格。 子字符串:字符串A是字符串B中连续的一段,则字符串A称为字符串B的子字符串。,示例(“”表示空格),三、日期运算符及表达式,例:? 1998/12/2+20 结果为1998/12/22,即20天后的

20、日期? 2004/9/8-3 结果为2004/9/5,即3天前的日期? 2004/9/8-2004/9/1 结果为7,即两个日期间隔7天,四、关系运算符及表达式,关系运算符可用于任意数据类型的数据比较,但要求关系运算符两边的操作数据的数据类型相同,运算结果为逻辑值。,设置字符的排序序列 在比较字符时,系统对两个字符串的字符从左向右逐个进行比较,一旦发现两个对应字符不同,就根据这两个字符的排序序列决定两个字符串的大小。 Machine序列:按照机内码顺序排序。空格、大写字母、小写字母、一级汉字(按拼音排序)、二级汉字(按笔画排序),PinYin序列:汉字按照拼音序列排序。对于西文,空格、小写字母

21、、大写字母。Stroke序列:汉字按笔画的多少排序。对于西文,空格、小写字母、大写字母。系统默认的字符序列为“PinYin”。更改序列的设置:单击菜单“工具”“选项”,在“数据”选项卡中进行。或用命令SET COLLATE TO “Machine”|”PinYin”|”Stroke”,字符串精确比较 在使用“=”进行字符串比较时,其结果受SET EXACT命令所设置的系统环境的影响。而使用“=”进行相等比较时,则不受SET EXACT命令所设置的环境的影响。,SET EXACT ON? “BCDE”=“BC”.F.? “BC”=“BCDE”.F.? “BC “=“BC”.T.? “BC”=“B

22、C “.T.? “BCDE”=“BCDE”.T.SET EXACT OFF? “BCDE”=“BC”.T.? “BC”=“BCDE”.F.? “BC “=“BC”.T.? “BC”=“BC “.F.? “BCDE”=“BCDE”.T.,五、逻辑运算符及表达式,逻辑“非”运算,逻辑“与”运算,逻辑“或”运算,计算以下表达式的值: 5*2(3+2)*5 or “ab “-”cd”=“bc” and not “XY”$”cdxyz”,25 25 or “ab “-”cd”=“bc” and not “XY”$”cdxyz”,25 25 or “abcd ”= “bc” and not .F.,.F. or .F. and not .F.,.F. or .F. and .T.,.F. or .F.,.F.,2.5 空值处理,等价于没有值与0、空字符串(“”)及空格不同排序优先于其他数据在计算过程中或大多数函数中都可以用到NULL值NULL值会影响命令、函数、逻辑表达式和参数的行为可以通过程序设计中的.NULL.标记,或在字段中以交互方式键入【Ctrl】+ 【0】组合键来赋NULL值,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1