• / 61
  • 下载费用:10 金币  

《数据库原理及应用》第三章.ppt

关 键 词:
《数据库原理及应用》第三章.ppt
资源描述:
Visual FoxPro 面向对象程序设计,Visual FoxPro 6.0的启动,单击此菜单项,鼠标指向此菜单项,鼠标指向此菜单项,,,,,VFP界面组成,标题栏,菜单栏,工具栏,命令窗口,工作区 窗口,状态栏,工作区窗口 工作区窗口是位于系统窗口中的空白区域,用于显示数据表、命令或程序的运行结果。 命令窗口 接受用户从键盘上输入VFP命令,或者将菜单操作翻译为相应的VFP指令。 每行只能写一条命令,每条命令均以Enter键结束。 将光标移到窗口中已执行的命令行的任意位置上,按Enter键将重新执行。,第3章 Visual FoxPro的数据及其运算,本章知识要点,,,,了解并掌握基本数据类型以及Visual FoxPro的常用函数、表达式的使用。 重点:Visual FoxPro的常用函数,内存变量的使用。 难点:内存变量的使用。 计划课时:3课时。,3.1 Visual FoxPro的数据类型,数据类型数据类型:数据的存储形式和操作使用方式。Visual Foxpro提供了以下几种数据类型:,,,,1.字符型 (Character,用字母C表示) 字符型数据是不能进行算术运算的文字数据(又称字符串),包括字符、汉字、数字字符和其他符号等一切可打印字符。,2.数值型 (Numeric,用字母N表示) 数值型数据由数字0-9、小数点和正负号组成,其长度≤20位,数值的最大有效数字为16 位。数值型数据可以是整数和小数,但不能是分数。 在Visual Foxpro中具有数值特征的数据类型还有整型、浮点型和双精度型,且只能用于字段变量。,,,,3.货币型 (Currency,用字母Y表示)是为存储货币值而使用的一种数据。默认保留4位小数。系统规定其长度为8位。,4.日期型 (Date,用字母D表示)日期型数据用来表示日期,系统规定其长度为8位。系统默认格式为MM/DD/YY,即月/日/年的格式(年度也可是4位)。,,,,5.日期时间型 (Date Time ,用字母T表示)日期时间型数据用来表示日期和时间,系统规定其长度为8位。系统默认格式为{MM/DD/YY hh:mm:ss}。范围:日期:01/01/0001~12/31/9999时间:00:00:00~23:59:59,6.逻辑型(Logical,用字母L表示) 逻辑型数据是描述客观事物真假的数据,表示逻辑判断的结果。它只有逻辑真(.T.)和逻辑假(.F.)两个值。系统规定其长度为1位。,,,,7.备注型(Memo,用字母M表示) 备注型数据(又叫记忆型、注释型)用于存放较多字符的数据。其长度系统定义为4位。它能接受一切字符数据,当数据中定义一个备注字段时,系统自动生成一个与表文件同名但扩展名为.FPT的备注文件。,8.通用型 (General ,用字母G表示) 通用型数据用来存放电子表格、图像、声音等OLE对象的数据。其长度系统定义为4位。通用型数据内容与备注型相同,也是存放在扩展名为FPT的备注文件中。,,,,9.二进制字符型和二进制备注型 这两种数据是以二进制格式存储的数据类型,只能用在表中字段数据的定义。,3.2Visual FoxPro的常量与变量,3.2.1常量 常量是指在操作过程中或程序运行过程中其值保持不变的一种数据。VFP中常量类型有6种:字符型、数值型、逻辑型、货币型、日期型和日期时间型。,,,,1.字符型常量:字符型常量是用定界符(单引号、双引号或中括号)括起来的一串字符。 如:X1=“I am a student.” 、 X2=[籍贯]X3=‘2003102136’,2.数值型常量 数值型常量可由正负号、数字与小数点组成。如:X1=145、X2=-23.5,,,,3.逻辑型常量 逻辑型常量只有两个值:“真”值和“假”值,用 .T., .F.,或 .Y.,.N.表示。如:X1=.T.、X2=.F.注意:字母前后的圆点不能省略。,,,,4.日期型常量 日期型常量用{ }括起来,三部分内容之间的分隔符可为/、-、.、 。如: X1={05/22/2004}、 X2={05-22-04},5.日期时间型常量 与日期型常量相似,也需用{ }括起来,系统默认格式为: {MM/DD/[YY]YY [,]hh[:mm[:ss]]]} Hh、mm、ss的默认值分别为12、0、0.X1={13-06-2005 10:10:00},3.2.2 变量 ,变量是在操作过程中其值可以改变的数据对象。,,,,1.变量命名规则 (1)使用字母、汉字、下划线和数字命名。 (2)命名以字母或下划线开头。除自由表中字段名、索引的TAG标识名最多只能10个字符外,其他的命名可使用1~128个字符。 (3)为避免误解、混淆,避免使用VFP的保留字。 (4)文件名的命名应遵循操作系统的约定。,,,,2. 变量三要素变量名、数据类型和变量值。,3. 变量分类变量分为:字段变量、内存变量、数组变量和系统变量。,,(1)字段变量 字段变量(又称字段名变量)是指数据表中的各字段名,它是表中最基本的数据单元,随着记录的不同各字段所对应的内容是变化的。,,,,如: ?”X1=“,学号 X1= 99010415?”X2=“,姓名 X2=郭延,,(2)内存变量 ①内存变量的概念 内存变量是一种独立于数据表之外的变量。在维护和操作数据表时,经常需要一些内存单元,用来存放一些临时的数据或一些计算结果,这些临时开辟的内存单元就是内存变量。内存变量可以参与计算处理。,,,,,,②内存变量的类型 内存变量的类型取决于所存放数据的类型,内存变量的类型有:字符型、数值型、货币型、逻辑型、日期型和日期时间型。,,,,③内存变量名 内存变量名由字母、数字和下划线组成,但不允许有空格。,④给内存变量赋值 给内存变量赋值的同时也建立了内存变量,最常用的赋值命令有两种:命令格式:=  STORE TO ,,,,例: a1 = 6 STORE 6 TO a1,a2,cSTORE “四川大学” TO a1,a2,c,⑤ 输出和显示内存变量的值 命令格式:? 或:?? 功能:计算并显示表达式的值。?: 表示输出结果值显示在下一行;??:结果显示在同一行。 当有多个表达式时各表达式间用逗号分隔。,例:? a1,a2,c?? a1,a2,c,,,,,变量被定义为一组同名的下标变量的集合。使用前须“先定义 ① 数组的定义命令格式:DIMENSION ([,下标上界2])[,…] 下标上界是一数值量,下标的下界由系统统一规定为1。1 2 如: a=[1 2 3 4 5 ] b= 3 45 6 Dimension a(5),b(3,2) 分别定义一维数组a和二维数组b.,,,,(3)数组变量,,(4)系统变量系统变量—以“_”开头,由系统提供,无需用户干预,需要时直接调用,在定义内存变量名时,不能以下划线开始。 如:?_Pageno 1 ?_Diarydate 03/06/07,,,,② 数组变量的赋值◎通过数组名赋值:如: a=6, 则:a=[6 6 6 6 6]或 store 2*4 to a,b◎通过数组元素赋值: 如: a(1)=1,a(2)=2…;b(1,1)=1,b(1,2)=2,b(2,1)=.t. …。 在没有向数组元素赋值之前,数组元素的初值均为逻辑假(.F.)。,,,3.3 表达式,定义:将常量、变量和函数用运算符连接起来的式子称为表达式。,,,,分类:算术表达式字符表达式日期和时间表达式关系表达式逻辑表达式等,,1.算术表达式 算术表达式由算术运算符、数值常量、变量和函数组成,结果为数值型数据。 算术运算符有(按优先级从高到低的顺序排列):( ) ; **或^; * ; / ; % ; + ; -(括号) (乘方) (乘) (除) (求余数) (加) (减) 例: y = x2-3x+958%5=3,,,,,是用字符运算符将字符型数据连接起来的式子,其运算结果是字符型数据。运算符有两种:(1). 连接运算“+”:将两个字符串连接起来形成一个新的字符串。“-”:是去掉前一字符串的尾空格,然后与后面字符串连接起来,并把去掉的尾空格放到结果串的末尾。如: ?“ 振兴 ”+“教育 ” “ 振兴 教育 “ ?“振兴 ”-“教育” “振兴教育 “,,,,,,,2.字符型表达式,,,,,,,(2). 包含运算$ 包含运算的结果是逻辑值:若包含在之中,其表达式值为.T.,否则为.F.。,,,,,,,,,,例:? “丽英” $ “李丽英” .T.? “AB” $ “CDAFBRT” .F.,,,,4.关系表达式关系表达式由关系运算符和字符表达式、数值表达式或日期表达式组成。关系运算符有以下几种:(大于)、 = (大于等于)或 # 或!= (不等于) 、 = (等于)= = (字符全同比较)、 $ (字符串包含运算符)格式: 进行关系运算时,关系运算符两边的数据类型应相同。关系运算可以进行数值比较、字符比较、日期比较。关系运算符的优先级相同,按从左向右、圆括号内优先的顺序进行。,,,,,,,,,,,比较规则如下: (1)数值型数据:按数值大小进行比较;日期时间型数据:按年、月、日的先后进行比较;逻辑型数据:.T.比.F.大。字符型数据:系统默认按字符的ASCII码值的大小进行比较,汉字按拼音顺序进行比较。,,,,例: ?“res” “ret” ? “李丽英” = “李丽”? “李丽英” == “李丽” 精确比较“==”:只有在两字符串完全相同时才为真; 非精确比较“=”:当等号右边的字符串与等号左边的字符串的前几个字符相同时,运算结果即为真。 ,5.逻辑表达式 逻辑表达式是由逻辑运算符将逻辑型数据连接起来的式子。它实际是一个判断条件,结果为一个逻辑值。(1). 逻辑运算符:AND(与)、OR(或)、NOT (非) 使用时运算符两边可以有小圆点也可无小圆点。逻辑运算的优先顺序是: NOT→AND→OR (依次降低) 使用格式: ,,,,如: X=7, Y=12 则: X=Y.AND.Y9 .F.AND.T.=.F.,,(2). 逻辑运算 ①NOT 是单目运算,只作用于后面的一个逻辑操作数。NOT L:若操作数L为真,则返回假;否则返回真。 ②AND 是双目运算。L1 AND L2:逻辑型操作数L1和L2同时为真,表达式值为真;只要其中一个为假,则结果为假。 ③OR 也是双目运算。L1 OR L2:逻辑型操作数L1和L2中只要有一个为真,表达式即为真;只有L1和L2均为假时,表达式才为假。,,,,逻辑关系表,,,,,,,,,,问 题,1.VFP提供了哪几种数据类型? 2.VFP中C、D、T、L型常量在使用时有何约束? 3.VFP中变量分为几类? 4.如何给内存变量赋值?如何输出和显示? 5.将下列式子写成VFP的表达式:,3.4 Visual FoxPro主要函数,,函数常用来执行一些特殊的数据处理,充分正确地使用函数,可简化操作和程序,增强数据处理功能。 1. 函数调用:函数名([参数表])函数名后的括号()不能省。参数表用方括号括起来表示可省,即有些函数不需要参数。,,,,,2. 函数分类:① 数值函数② 字符函数③ 日期和时间函数 ④ 数据类型转换函数⑤ 测试函数,,,,3. Visual FoxPro主要函数,,1. 数值运算函数数值运算函数用来进行数值计算,函数的返回值均是数值型。 1.绝对值函数格式:ABS()功能: 返回数值型表达式〈expN〉的绝对值。 例: ABS(-123) 123,,,,,2 .平方根函数 格式:SQRT()  功能: 返回〈expN〉的算术平方根值,〈expN〉的值必须是正数。 例: ? SQRT(25) 5 ? SQRT(3+6) 3,,,,3.取整函数格 式 INT()功 能 取〈expN〉的整数部分。,例: ? INT(56.72),? INT(-56.72),,,4.求最大值函数和最小值函数格式: MAX(,,……,)MIN(,,……,)功能: MAX求n个表达式中的最大值。MIN求n个表达式中的最小值。,,,,说明:〈表达式表〉中的各表达式的值应是相同的数据类型(N、C、Y、D、T),且至少有两个表达式。对expC,根据每个字符的ASCII码值的大小进行比较。例: ? MAX(43,89) ? MIN(‘ABCK’, ‘ABCF’),2 字符操作函数 1.求字符串长度函数 格式: LEN(〈expC〉) 功能: 返回〈expC〉的长度,长度的单位是半角字符个数,一个全角字符为2个半角字符,若是空串,则长度为0。,,,,例: ?LEN(‘ABCDEFG’) 7 ?LEN(“中华人民共和国”) 14,,,2.取子字符串函数 ①取左子字符串函数 格式: LEFT(〈expC〉,〈expN〉) 功能: 在〈expC〉中,从左端开始截取〈expN〉个字符组成新字符串。例: ?LEFT(‘中华人民共和国’,4) 中华,,,,② 取右子字符串函数 格式: RIGHT(〈expC〉,〈expN〉) 功能: 在〈expC〉中,从右端开始截取〈expN〉个字符组成新字符串。 例: ?RIGHT(‘中华人民共和国’,6) 共和国,,,③ 取子字符串函数格式:SUBSTR(, [,])功能: 从字符表达式〈expC〉的第个字符开始,取〈expN2〉个字符,组成新字符串。例: ?SUBSTR(‘中华人民共和国’,5,4),,,,4. 删除字符串前后空格函数格 式 功 能 LTRIM(〈expC〉) 去除〈expC〉的前导空格RTRIM(〈expC〉) 去除〈expC〉的尾部空格ALLTRIM(〈expC〉)去除〈expC〉的前、后所有的空格,,,,例: ? LTRIM(” 大学生 “) “大学生 “? RTRIM(” 大学生 “) ” 大学生“? ALLTRIM(” 大学生 “) ” 大学生“,,,,5.产生空格函数 格式: SPACE(〈expN〉) 功能: 生成若干个空格。空格数由〈expN〉的值确定。,,,,例: ? ALLTRIM(“ 当代 ”)+ALLTRIM(“ 大学生 ”),? ALLTRIM(“ 当代 ”)+SPACE(4)+ALLTRIM(“ 大学生 ”),“当代大学生”,“当代 大学生”,6.大小写字母转换函数格式: UPPER(〈expC〉)功能: 将中的小写字母转换成大写字母。格式: LOWER(〈expC〉) 功能: 将中的大写字母转换成小写字母 。,,,,例: ? UPPER('a') A? LOWER('Y') y,,,1. 求系统日期和时间函数:DATE()TIME() 2. 求年份、月份和天数函数:YEAR(|)MONTH(|)DAY(|),,,,3 日期和时间函数,,例: ? year({03/06/07}) 2007 ? month({03/06/07}) 3,,,1. 将字符型数据转换为数值型数据(ASCII码值)的函数:格式:ASC() 例:?ASC(‘A’) 652. 将ASCII值转换成相应字符函数:格式: CHR() 例:? CHR(97) a 例:?CHR(65)+”BC” “ABC” ?ASC(‘A’)+10 753. 将字符串转换成日期或日期时间函数格式:CTOD()CTOT()例: ?CTOD(’03/06/07’)-{03/06/06} 365,,,,4 数据类型转换函数,,,,,,4. 将日期或日期时间转换成字符串函数格式:DTOC(|[,1])?’This is ‘+DTOC({03/06/06})This is 03/06/065. 将数值转换成字符串函数:STR([,[,]])例1:?str(56) 56例2:? Y=56;X=3;STR(Y) 56 3 56?”X+Y”,X+Y (显示出错信息)例3:? Y=56;X=“1234”;STR(Y) 56 1234 56?”X+Y=“,X+Y 1234566. 将字符串转换成数值函数: VAL()例: ?VAL(’56’)+4 10,,,,,,,,,,,,,1. 表头测试函数:BOF( ) 2. 表尾测试函数:EOF( ) 3. 记录号测试函数:RECNO( ) 4. 记录个数测试函数:RECCOUNT( ) 5. 查找是否成功测试函数:FOUND( ) 6. 文件是否存在测试函数:FILE(),2.5.5 测试函数,如: USE 教师BROWSEGO 3?FILE(“教师”),RECNO( ),EOF( ), RECCOUNT( ) .T. 3 .F. 5,,,,,练 习,1、设:A=’08/28/04’,求:month(ctod(A))和day(ctod(A))。,3、输出函数运算后的结果:(1) ? Val(“2008”)(2) ? Val(“2008beijing”)(3) ? STR(156.823,8,3)(4) ? STR(156.823)(5) ? STR(156.823,4,1)(6) ? STR(156.823,2),2、DTOC(DATE())与DATE()的结果是否相同?,,,,练 习,1、? “亚洲“+space(5)-space(6)+“中国“,3、求正实数x的小数部分,表达式为( ),2、在1983年1月1日至1985年12月31日之间出生的学生,条件表达式为( ),4、求自然数m的十位数字,表达式为( ),6、求实数n保留4位小数,第5位小数进行四舍五入处理,表达式为( ),5、判断n是否奇数,表达式为( ),7、将Y中的大写字母转换成相应的小写字母,表达式为( ),通知,从本周开始,周二下午《数据库原理及应用》课程上课地点改到2307教室,上课时间不变。周四课程地点改到2307,单周上课,双周停课。 取消下周星期一上机,上机时间另行通知。,,3. 日期和时间表达式 格式1:++ 格式2:- 格式3:- 格式4:++ 格式5:- 格式6:-,,,,,,,,,,,,,,,6.日期时间型常量 与日期型常量相似,也需用{ }括起来,系统默认格式为: {MM/DD/[YY]YY [,]hh[:mm[:ss]][a|p]]} Hh、mm、ss的默认值分别为12、0、0. a|p 的默认值为am。,(1)日期格式中的世纪值设置: SET CENTURY ON | OFF | TO [n Century]其中,ON表示日期值输出时显示10位,年份占4位。TO [n Century]指定日期数据所对应的世纪值,n 是一个1~99的整数。,,,,7.日期格式设置,(2)设置日期显示格式: SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITALIAN | JAPAN | USA | MDY | DMY | YMD | SHORT | LONG,(3)设置日期分隔符: SET MARK TO [日期分隔符] (4)严格的日期格式: {^yyyy-mm-dd[,][hh[:mm[:ss]][a|p]]} (5)日期格式检测设置: SET STRICTDATE TO [0 | 1 | 2]其中,0不进行严格的日期格式检测。1进行严格的日期格式检测(默认值)。2进行严格的日期格式检测,且对CTOD和CTOT函数格式也有效。,,,,,,,3.求子字符串位置函数格式: AT(〈expC1〉,〈expC2〉)ATC(〈expC1〉,〈expC2〉)功能: 查找〈expC1〉在〈expC2〉中的起始位置,如果没有找到,返回数值0。ATC函数在子串比较时不区分字母大小写。,例:? AT('LG','ABRLGUOLGP') ?AT('Lg','ABRLGUOLGP') ?ATC('Lg','ABRLGUOLGP'),⑥ 输出显示内存变量 命令格式:LIST MEMORY [LIKE ][TO PRINT]或: DISPLAY MEMORY [LIKE ][TO PRINT]功能:显示当前每个已经定义的内存变量的名称、数据类型和其值。若选择[TO PRINT]选择项,则将当前显示的内容打印出来。例:LIST MEMORYLIST MEMORY LIKE A*,,,,⑦ 保存内存变量 命令格式:SAVE TO [ALL LIKE|EXCEPT] 功能:将当前已经定义的内存变量的全部或一部分存入到内存变量文件中。系统将自动生成扩展名为.MEM的文件。例:SAVE TO BL .MEMSAVE TO CL ALL EXCEPT A*,,,,,⑧ 恢复内存变量 命令格式:RESTORE FROM [ADDITIVE] 功能:将指定的内存变量文件中的内存变量装入到内存,同时系统将清除原内存中内存变量( 无ADDITIVE时 )。 例: RESTORE FROM BL  ,,,,,⑨ 内存变量的清除命令格式:CLEAR MEMORYRELEASE [][ALL [LIKE|EXCEPT ]]功 能:清除内存变量并释放相应的内存空间。其中第一条命令是清除所有的内存变量,第二条命令是清除指定的内存变量。  ,,,,4.求余数函数格式: MOD(〈expN1〉,〈expN2 )功能: 返回〈expN1〉除以〈expN2〉所得的余数。 当和同号时,函数值为:MOD(|expN1|,|expN2|);当和异号时,函数值为:|expN2|- MOD(|expN1|,|expN2|),结果的符号与相同;,,,,例: ?MOD(15,4)? MOD(-15,-4)? MOD(-15,4)? MOD(15,-4),5.四舍五入函数格式: ROUND(〈expN1〉,〈expN2〉)功能: 设expN2=n。函数对〈expN1〉求值,并保留n位小数,从n+1位小数起进行四舍五入。如果n0(指定的小数位数为负数),该函数在〈expN1〉的值的整数部分按n的绝对值位进行四舍五入,尾数部分都是0。,,,,例: ? ROUND(11,2)?ROUND(2435.67,-2),
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:《数据库原理及应用》第三章.ppt
链接地址:https://www.weizhuannet.com/p-10026162.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开