VFP的数据与运算
VFP的基本数据运算(二)

注意: 1.数据类型匹配问题 在一个表达式中,每个运算符两边的数据类 型必须一致。 2.在表达式中若出现了关系运算符或逻辑运 算符,则该表达式的值不是.t.就是.f.。
举例: 1. 3>4 or 15<>3*5 2. 3*4<5+6 or “Fox”$”Fox”+”Pro” 3. ”Am”$”I am a student ” and “ABCD”>”ABBC” 4. 3*(21-4)>9+15/5 and “abcd”=“abc”
如: “I am a student”=“I am” 表达式值为.t. “I am a student”=“am a” 表达式值为.f. 4.”==”运算符用于更精确的比较,如果用它比较两 个字符串是否相等时,则只有两个字符串完全相 同时,结果才为真。 如: “Visual FoxPro”==“Visual FoxPro” 表达式值为.t. “Visual FoxPro”==“visual foxpro” 表达式值为.f.
表达式 .t.or.t. 值 .t.
.t.or.f. .f.or.t. .f.or.f.
.t. .t. .f.
(4)有小括号的先做小括号内运算,再not 运算,再and运算,最后or运算
三。综合表达式
在实际描述表达式时,表达式中可能含有多 种不同类型的运算符,那么在计算该表达 式值时,必须严格遵循表达式运算的先后 次序 1有小括号括起来的先做小括号内数据的运算 2.再算术运算 3.再字符运算 4.再关系运算 5.最后逻辑运算
注意:常见字符的大小关系
“0”<“1”<….<“9”<“a”<“b”<…….<“z”<“A”<“B”<……<“Z”
VFP第三章

程序设计教程
北京邮电大学出版社
第3章 Visual FoxPro的数据及其运算 FoxPro的数据及其运算
本章知识要点
了解并掌握基本数据类型以及Visua FoxPro的常 用函数、表达式的使用。 重点:Visual FoxPro的常用函数,内存变量的使 用。 难点:内存变量的使用。 计划课时:2课时。
7.Memo (备注型,用字母M表示) 备注型,用字母M表示) 备注型数据(又叫记忆型、注释型)用于存放较多 字符的数据。其长度系统定义为4位。它能接受一切字符 数据,当数据中定义一个备注字段时,系统自动生成一个 与表文件同名但扩展名为.FPT的备注文件。
通用型,用字母G表示) 8. General (通用型,用字母G表示) 通用型数据用来存放电子表格、图像、声音等OLE对 象的数据。其长度系统定义为4位。通用型数据内容与备 注型相同,也是存放在扩展名为FPT的备注文件中。
例:
a1 = 6 STORE 6 TO a1,a2,c
注意: 注意: 访问内存变量时,若它与字段变量同名时, 访问内存变量时,若它与字段变量同名时, 则应该用如下格式进行访问: 则应该用如下格式进行访问: M.内存变量名 内存变量名 或 M—>内存变量名 内存变量名
姓名= 王明” 例:M.姓名=“王明” 姓名 或 M—>姓名=“王明” 姓名= 王明” 姓名
( ) ; **或 ; * ; / ;
(括号) (乘方) (乘)
^
% ; + ; -
(除) (求余数) (加) (减)
例: y = x2-3x+9
2.字符型表达式 2.字符型表达式 字符型表达式 是用字符运算符将字符型数据连接起来的式子,其运 算结果是字符型数据。运算符有两种: (1). 连接运算 “+”:将两个字符串连接起来形成一个新的字符串。 “-”:是去掉前一字符串的尾空格,然后与后面字 符串连接起来,并把去掉的尾空格放到结果串的末尾。 (2). 包含运算 <字符串1> $ <字符串2> 包含运算的结果是逻辑值:若<字符串1>包含在<字符 串2>之中,其表达式值为.T.,否则为.F.。
vfp第4章(2)特殊运算符·数据定义和操纵

第4章
SQL关系数据库查询语言
8
SQL的数据查询
⑵带有量词的子查询
【例43】查询“学生”表中入学成绩大于所有男生入学成绩的姓名和入学 成绩信息; ALL (SELECT 入学成绩 FROM 学生 WHERE 性别="男")
【注意】在使用>、>=、<、<=、=、!=等关系运算符时,当子查询的结 果有多个时,应在子查询的前面使用量词ANY、SOME、ALL。
第4章
SQL关系数据库查询语言
4
SQL的数据查询
【例39】查询“课程”表中所有课程名里含有”大学”两个字的课程名。 SELECT 课程名 FROM 课程 WHERE 课程名 LIKE "%大学%"
第4章
SQL关系数据库查询语言
5
SQL的数据查询
⑶空值查询
【例40】查询哪些学生没有选课,查询结果包含学号、姓名和成绩字段。 <字段名> [NOT] IS NULL ①SELECT 学生.学号,姓名,成绩 FROM 学生 LEFT JOIN 选课; ON 学生.学号=选课.学号 INTO CURSOR TEMP ②SELECT * FROM TEMP WHERE 成绩 IS NULL
第4章
SQL关系数据库查询语言
7
SQL的数据查询 10.嵌套查询
当查询的条件依赖于另一个查询的结果时,就要在查 询条件WHERE短语中嵌套一个子查询。 ⑴带有比较运算的子查询
【例42】查询“学生”表中与“王欣”同一专业的学生的学号、姓 名和专业。 SELECT 学号,姓名,专业 FROM 学生 WHERE 专业=; (SELECT 专业 FROM 学生 WHERE 姓名="王欣")
VFP数值和数值运算2

VFP第二章 张胜光制作
13
若省略〈长度〉,或者〈长度〉超过从〈起始 位置〉到末尾的长度,则截取的子字符串为从〈起 始位置〉到〈字符串表达式〉末尾的所有字符。例 如: ? SUBSTR(”计算机程序设计教程”,11)
设计教程
VFP第二章 张胜光制作
14
2.求字符串长度函数LEN() 【格式】 LEN〈字符串表达式〉 【功能】 返回〈字符串表达式〉中所包含 的字符个数,即字符串长度。 【例 2】 ? LEN(”Visual FoxPro6.0”) 16
VFP第二章 张胜光制作
11
3-2-2 字符处理函数 1.取子串函数SUBSTR() 【格式】 SUBSTR(〈字符串表达式〉, 〈起始位置〉 [,〈长度〉]) 【功能】 从〈字符串表达式〉中的〈起始 位置〉截取子字符串,〈长度〉为所截取的 子串的长度。
VFP第二章 张胜光制作
12
【例 1】 store ”ABCDEFG” to CN ? SUBSTR(CN,4,2), SUBS(CN,1,4), ??SUBS(CN,6,3) DE ABCD FG
VFP第二章 张胜光制作
15
3.搜索子串位置函数AT() 【格式】 AT(〈字符串 1〉,〈字符串 2〉[ , < 数值表达式 >]) 【功能】 寻找〈字符串1〉在〈字符串2〉中首次出现的起 始位置。若〈字符串2〉中不包含〈字符串1〉,则返回值为 零。若有“数值表达式”(假设数值表达式为 K ),则寻找 〈字符串1〉在〈字符串2〉中第K次出现的位置。 【例 3】 X=”Visual FoxPro 6.0” ? AT(”Fox”,X) && 显示结果为 8 ? AT(”fox”,X) && 显示结果为 0 ? AT(”o”,X) && 显示结果为 9 ? AT(”o”,X ,2) && 显示结果为 13
VFPVisualFoxPro数据类型与数据运算

使用STR()函数,将数值转换为字符串。
日期型数据与其他数据类型之间的转换
日期型数据转字符型数据
使用DTOC()函数,将日期转换为字符串 。
VS
字符型数据转日期型数据
使用CTOD()函数,将符合日期格式的字 符串转换为日期型数据。
逻辑型数据与其他数据类型之间的转换
逻辑型数据转字符型数据
+、-、*、/、\、MOD、 Nhomakorabea例子
a=10+5,b=10-5,c=10*5,d=10/5, e=105,f=MOD(10,5),g=105
结果
a=15,b=5,c=50,d=2,e=2,f=0,g=100000
字符串运算
01
字符串运算符:+、*
02
例子:str1="Hello, " + "World!",str2="Hello" * 3
用于存储字符串,包括字 母、数字、符号等。
长度范围 字符型数据
示例
数值型数据
数值型数据 整数类型 浮点数类型 示例
用于存储数值,包括整数和浮点数。
分为字节型(存储范围-128~127)、整型(存储范围32768~32767)和长整型(存储范围2147483648~2147483647)。
分为单精度浮点数和双精度浮点数。
逻辑运算
逻辑运算符
.T.、.F.、AND、OR、NOT
例子
log1=.T. AND .F.,log2=NOT log1, log3=AND(log1, log2)
结果
log1=.F.,log2=.T.,log3=.F.
03 数据转换
VFP-03第三章-数据与数据运算

其中?表示在下一行上显示若干个数据的值;
??表示在同一行上显示若干个数据的值。 3、逻辑型常量 表示逻辑判断结果,只有“真”或“假”两种结果, 定界符为圆点,内存中占用一个字节。
常量表示形式为:.T.、.t.、.Y.、.y. 表示真,
.F.、.f.、.N.、.n.表示假。
4、日期常量
用于表示日期,其规定格式以{mm/dd/yyyy}表示。定 界符:{ } 常用分隔符:斜杠(/)、连字符(-)、句点(.)和 空格。
-:两字符串首尾相连,且将首字串尾部的空格移至新
串的尾部。
$(字符串包含运算符):
使用格式:<子字符串>$<字符串> 若字符串包含子字符串,其值为.T.,否则为.F.。 举例: “计算机 ” + “软件” 结果值为:“计算机 软件 “ “计算机 ” - “软件” 结果值为:“计算机软件 ”
三.时间日期表达式
list memory like y*
三.字段变量
字段变量是数据库管理系统中的一个重要概念。它与 记录一纵一横构成了数据表的基本结构。 一个数据库是由若干相关的数据表组成,一个数据表 是由若干个具有相同属性的记录组成,而每一个记录又是
由若干个字段组成。
字段变量就是指数据表中已定义的任意一个字段。
字段变量的类型有数值型、浮点型、整型、双精度型、
设置日期格式的命令
●设置日期分隔符:set mark to [分隔符] 可设置为:连字符(-)、句点(.)和空格;系统默认 的分隔符为:斜杠。 如:Set Mark to “-” 用字串定界符括起来。
●设置日期显示格式:set date [to] 格式
格式:AMERICAN、USA、MDY、GERMAN、 BRITISH、FRENCH、ITALIAN、DMY、ANSI、JAPAN、 YMD 主要设置日期是:年-月-日、月-日-年、日-月-年
第3章VFP数据库及其操作2

修改数据库
前两种方式打开同时,自动进入修改状态(数据库设计器)。 命令方式打开数据库设计器方法是: Modify database [数据库文件名 | ? ] (缺省则为当前数据库 3 )
将数据库添加到项目中
在项目管理器/数据选项卡/选定数据库/添加
删除数据库
从项目管理器中删除数据库(点击移去按钮,弹出对话框)。 移去:从项目管理器中移出,但不做物理删除(磁盘上保留) 删除:完全删除(磁盘上也不保留) 注:这样删除是不能删除数据库中包含的表、视图等文件。 命令方式删除数据库: Close database (不加参数,关闭当前数据库) Close database all (关闭所有打开的数据库) 注:使用命令方式删除数据库之前,要先关闭它才行! Delete database [数据库文件名 | ? ] (删除数据库) 两个参数举例: Delete database 订货管理 deletetables 同时删除所含表文件 Delete database 订货管理 recycle 不做彻底删除,放入回收站
12
3.3表的基本操作
3.3.1使用浏览器操作表 界面方式:项目管理器/数据库/表/浏览 命令方式:用use命令打开表后,键入browse命令 3.3.6记录指针的定位: 记录指针:VFP数据库的表是由行和列组成的,每一行称 为一条记录。每一条记录根据输入的先后顺序,有一个物理 记录号。VFP为每张表都保存一个记录指针,它指向当前操 作的记录,通过其记录号来标识。 VFP对单行记录操作时,一定是对记录指针指向的当前记 录做操作,不会影响其他记录。所以一定要时刻注意记录指 针的位臵,以便准确的对目标记录进行操作。
使用(打开)数据库
在项目管理器中打开数据库: 从“打开”对话框中打开数据库: 命令方式打开数据库: Open Database [数据库文件名 | ? ] 说明: 只读方式打开:不允许对数据库进行修改。 独占方式打开:不允许其他联网用户同时使用该数据库。
计算机二级VFP数据与数据运算

3.1 常量与变量考点1 常量常量用以表示一个具体的、不变的值。
不同类型常量的书写格式不同。
在Visual FoxPro 中,常量主要包括以下几种类型。
1数值型常量数值型常量即常数,用来表示一个数量的大小,由数字0~9小数点和正负号组成。
2货币型常量货币型常量用来表示货币值,其书写格式与数值型常量类似,但要加上一个前置的符号($)。
3字符型常量字符型常量也称为字符串,其表示方法是用半角单引号、双引号或方括号把字符串括起来。
这里的单引号、双引号或方括号称为定界符许多常量都有定界符。
定界符虽然不作为常量本身的内容,但它规定了常量的类型及常量的起始和终止界限。
4日期型常量日期型常量的定界符是一对花括号。
花括号内包括年、月、日3部分内容,各部分内容之间用分隔符分隔。
5日期时间型常量日期时间型常量包括日期和时间两部分内容:{<日期>,<时间>}。
<日期>部分与日期型常量相似,也有传统的和严格的两种格式。
6逻辑型常量逻辑型数据只有逻辑真和逻辑假两个值。
前后两个句点作为逻辑型常量的定界符是必不可少的,否则会被误认为变量名。
逻辑型数据只占用1字节。
考点2 变量Visual FoxPro中变量分为字段变量和内存变量二其中字段变量就是表中的字段。
内存变量是内存中的一块存储区域,变量值就是存放在这个存储区域里的数据,变量的类型取决于变量值的类型。
内存变量的数据类型包括:字符型(C)、数值型(N)、货币型(Y)、日期型(D)、日期时间型(T)和逻辑型(L)。
1简单的内存变量每一个变量都有一个名字,可以通过变量名访问变量。
如果当前表中存在一个同名的字段变量,则在访问内存变量时,必须在变量名前加上前缀M.(或M->),否则系统将访问同名的字段变量。
2数组与简单内存变量不同,数组在使用之前一般要用DIMENSION或DECLARE命令显示创建,规定数组是一维数组还是二维数组,数组名和数组大小。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3.2.1 常量
5. 日期型常量
一种由数字按固定格式组成的特殊类型。
日期型常量两边必须用大括号{ }括起来,年月日 彼此间用分隔符(. - /)隔开。 而用字符串表示 日期型常量时需用CTOD( )函数进行转换。
例:{^2006.03.15}、{^2006-03-15}、 {^2006/03/15}、CTOD(“03/15/2006”)、{ }
(2) 命名以字母或下划线开头。除自由表中字段 名、索引的TAG标识名最多只能10个字符外, 其他的命名可使用1~128个字符
(3) 为避免误解、混淆,不应使用Visual FoxPro 保留字(命令名、函数名等各种系统预定义项 的名称)进行命名
3.2.2.2 字段变量
字段变量就是表中的字段名,它是表中最基本的 数据单元
内存变量独立于表而存在,在使用时随时建立
内存变量的类型有字符型、数值型、货币型、 逻辑型、日期型和日期时间型等
3.2.2.3 内存变量
1. 内存变量的赋值
内存变量赋值既可以定义一个新的内存变量,也 可改变已有内存变量的值或数据类型
给内存变量赋值的命令有两种格式:
格式1:<内存变量>=<表达式>
格式2:STORE<表达式>TO<内存变量表>
与其他变量不同的是,字段变量是定义在表中的 变量,随表的存取而存取,因而是永久性变量
字段变量的类型可以是Visual FoxPro的任意数据 类型,字段值就是变量值
字段变量的名字、类型、长度等是在定义表结构 时定义的
3.2.2.3 内存变量
内存变量是内存中的一个存储区域,变量值就 是存储在这个区域里的数据,变量的类型取决 于变量值的类型
2. 设置日期显示格式 ➢ 命令方式
格式: SET DATE [TO] AMERICAN | ANSI | BRITISH | FRENCH | GERMAN | ITLIAN | JAPAN | USA | MDY | DMY | YMD | SHORT | LONG
功能: 该命令用于设置日期的显示输出格 式。系统默认为AMERICAN(美国日 期格式)
➢ 逻辑型 ➢ 日期型 ➢ 日期时间
3.2.1 常量
1. 字符型常量
又称字符串,是由ASCII字符和汉字组成的一个或 一串字符。
书写方法:把一串字符写在一对定界符之间。定界 符有三种:单引号(‘ ’)、双引号(“ ”)、方括号([ ])。
例:‘计算机’、“Windows”、[123.04]、 ‘A.[name]’、 “”(长度为零的空字符串) “FOX ”、“FOX”
此外,Visual FoxPro作为面向对象的程序设计 语言引入了对象的概念, 对象实质上也是一类 变量
确定一个变量,需要确定其3个要素:变量名、 数据类型和变量值
3.2.2.1 命名规则
(1)使用字母、汉字、下划线和数字命名。虽然中 文版Visual FoxPro允许使用汉字为各类变量命 名,但一般建议尽量不采用汉字命名,以提高 操作效率
3.2.1 常量
6. 日期时间型常量 日期时间型常量由日期和时间两部分组成,也必 须用大括号{ }括起来。 1个日期时间型常量在内存中占8个字节。 严格的日期时间型常量格式为:
{^yyyy-mm-dd[hh[:mm[:ss]]][a|p]} 例: {^2006-05-04 02:30:20 p}
日期时间型常量
1. 日期格式中的世纪值 ➢ 命令方式 格式:SET CENTURY ON | OFF 功能:该命令用于设置显示日期时是否显示世纪 说明: ON:表示日期值输出时显示年份值,即日期
数据显示10位,年份占4位 OFF:默认值。表示日期值输出时不显示年
份值,即日期数据显示8位,年份占2位
日期时间型常量
在存储和计算时四舍五入到4位小数。若小数位不足 4位,则尾部补零。
1个货币型常量在内存中占8个字节。不能采用科学 记数法形式 。
例:$123.0000
3.2.1 常量
4. 逻辑型常量 又称逻辑值,用以描述对事物做出判断的一种结 果。它只有逻辑真和逻辑假两个值。 逻辑型常量两边必须有圆点“.”。 1个逻辑型常量在内存中占1个字节。
日期时间型常量
3. 设置日期分隔符
➢ 命令方式 格式:SET MARK TO [日期分隔符] 功能:设置显示日期时使用的分隔符,如/、-
、.等。如没有指定任何分隔符,则恢复 系统默认的 / 分隔符 例:SET MARK TO “.”
3.2.2 变量
变量是在命令操作过程中可以改变其值的量
在Visual FoxPro中变量分为字段变量、内存变 量、数组变量和系统变量4类
例:STORE 1234.05 TO A,B
B={^2006.03.15}
E_E=.T.
FF=“234.98”
计算机=‘电脑’
A=A+1
A1=A2=254
STROE 3+4 TO CCC
3.2.2.3 内存变量
2. 内存变量的显示
可以用两个命令将当前已定义的内存变量在屏幕 上显示出来,包括其变量名、作用域、类型和当 前值
第3章 Visual FoxPro中的数据 与运算
教学目的:
1.掌握常量、变量的概念、数据类型及使用 方法
2.掌握常用函数的格式、功能与使用方法 3.掌握表达式的类型与使用方法
重点:
表达式的使用
难点:
数据类型
3.2 Visual FoxPro的常量与变量
3.2.1 常量
常量的类型分为: ➢ 字符型 ➢ 数值型 ➢ 货币型
3.2.1 常量
2. 数值型常量 又称常数,是由阿拉伯数字、正负号和小数点组成 的可以进行算术运算的数。 书写方法:(a)十进制数的写法
(b)科学记数法 例:123、-43.065、0.222E2、638.4E-3、0 数值型常量在内存中用8个字节表示
3.2.1 常量
3. 货币型常量
货币型常量用来表示货币值,以货币符号“$”开头 。
格式1:DISPLAY MEMORY [LIKE<通配符>] [TO PRINTER][TO FILE<文件名>]
格式2:LIST MEMORY [LIKE<通配符>] [TO PRINTER][TO FILE<文件名>]