• 黄淳的专栏作者中国国家地理网 2019-06-12
  • 坚守传统手工包粽 探访沪上老字号粽子生产车间 2019-06-10
  • 满满的都是屏 OPPO妹子最爱手机曝光 2019-06-10
  • 北京进入旅游旺季 警察提示游客需防揽客者连环设套忽悠购物 2019-06-08
  • 我写文章不是为了别人的赞许,是为了讨论问题,让人有思考的价值,就像你网名一样,探寻真理。我并非就全盘赞成市场经济,只是在讨论它的合理性,在文中也提问,“既然我们 2019-06-08
  • 山东假存单揽储1.6亿难追回,该省另一相似案件银行被判赔 2019-05-31
  • 天上不会掉馅饼,想要富起来,就要把别人的据为己有,能把别人的据为己有的问世间能有谁,能有几人,所谓的专家明白了吗。 2019-05-31
  • 乌鲁木齐市中级人民法院庭审在线直播 2019-05-21
  • 第530期:为何吃新鲜蔬果能抗肿瘤、强免疫……?因为有“它”! 2019-05-19
  • 世界杯大中华区官方票代谈假票门黄牛倒票行为 2019-05-19
  • 英媒:漫步北京上海,仿佛踏入未来 2019-05-17
  • 2017年各地领导干部给网友书写23万封回信 2019-05-17
  • 回到1396年的波斯街头文章中国国家地理网 2019-04-23
  • 送你一份时代天街附近必吃的火锅名单 2019-04-23
  • 幻想“暴富式创业”侮辱谁的智商? 2019-04-13
  • 江苏七位体彩开奖结果
    学霸学习网 这下你爽了
    相关文章

    江苏快三开奖结果:Visual FoxPro程序设计幻灯片.徐红波.第1章_图文

    江苏七位体彩开奖结果 www.jwbw.net Visual FoxPro程序设计
    讲师:徐红波 E-mail: [email protected]

    1

    目录
    第1章 概述 第2章 表的操作 第3章 数据库的基本操作 第4章 查询与视图 第5章 程序设计基础 第6章 表单 第7章 菜单与工具栏 第8章 报表 第9章 项目管理器 第10章 程序设计实例
    2

    第1章 概述
    计算机科学的发展使得它的应用领域逐步扩大, 已进入社会的各个方面。信息化社会用计算机进行 数据处理已成为日常工作的内容。数据库系统技术 是用计算机进行数据处理的最简单、易学、易掌握 的技术。VFP继承了以往传统数据库的优点,采用 了面向对象的程序设计思想和可视化的编程工具, 操作简单、易学,极大地方便了软件的开发。人们 在使用它作为开发工具时,可以高效地开发出 全新 的可视化图形界面应用程序。所开发出的软件易于 推广和应用。因此VFP应用较为广泛。本章主要介 绍相关基本知识,为后续章节的学习打下基础。
    3

    第1章 概述

    1.1 1.2 1.3 1.4

    数据库系统的发展与特点 数据库的基本知识 数据与数据运算 小结

    4

    1.1 数据库系统的发展与特点
    1.1.1 数据库系统的发展 数据处理技术的形成和发展经历了早期的人工管理、 文件系统、数据库系统这三个阶段。人工管理是最原始的 数据管理方式,由于数据的不共享性,而被文件系统所代 替。文件系统虽然数据具有共享性,但共享性差、独立性 差、冗余度高而被数据库系统所代替。由于数据库系统具 有共享性高、冗余度小、数据的独立性好的优点使它成为 当今数据处理的主要工具。在20世纪60年代末,美国IBM 公 司 成 功 地 研 制 出 第 一 个 商 品 化 的 数 据 库 系 统 IMS (Information Management System) , 以 后 又 相 继 出 现 了 DBASE、FoxBASE、FoxPro、VFP等数据库系统。

    5

    1.1.2 数据库系统的特点
    信息化社会的到来,使数据库系统的应用更为广泛, 技术更加成熟,它与人工管理、文件系统比较有如下特 点: 1、数据结构化 在文件系统中,各个文件不存在相互联系。从单个 文件来看,数据一般是有结构的;但从整个系统来说, 数据又是没有结果的。数据库系统则不同,在同一数据 库中的数据文件也存在联系,即在整体上服从一定的结 构形式。

    6

    2、数据的共享 共享是数据库系统的目的,也是其重要特点。一个数据库 中的数据不仅可为同一企业或机构之内的各个部门共享,也可 为不同单位、地域甚至不同国家的用户共享。而在文件系统同, 数据一般是由特定的用户专用的。 3、数据的独立性 在文件应用系统中,数据结构和应用程序相互依赖,一方 的改变总是要影响另一方的改变。数据库系统则力求减少这种 相互依赖,实现数据的独立性。虽然目前还未能完全做到这一 点,但较之文件系统已大有改善。 4、冗余度低 数据专用时,每个用户拥有并使用自己的数据,难免有许 多数据相互重复,这就是冗余。实现共享后,不必要的重复将 全部消除,但为了提高查询效率,有时也保留少量重复数据, 其冗余度可由设计人员控制。
    7

    1.2 数据库的基本知识
    1.2.1 数据库系统 1.2.2 数据模型 1.2.3 VFP启动与主界面

    8

    1.2.1 数据库系统
    ? 数据(Data)是指能存储在计算机系统的物理 介质上并能被计算机识别的物理符号。它包 括文字、图形、图像、声音等。 ? 数据处理(Data Processing)是指将数据转为 对用户来讲有用信息的过程。 ? 数据库(Database)是指存储在计算机存储器 中结构化的、能为多个用户共享且又独立于 应用程序的相关数据的集合。
    9

    ? 数据库管理系统(DBMS, DataBase Management System)是指可以对数据库的建立、使用和维护管 理的软件。它包括数据定义语言DDL(Data Define Language)、数据操纵语言DML(Data Manipulation Language)、管理与控制程序。 ? 数据库应用系统 (DBAS, DataBase Application System)是指用数据库系统资源,面向某一实际应 用而开发的具体应用程序软件系统,如学籍管理 系统、工资管理系统等。 ? 数据库系统(DBS即DataBase System)是指在计算 机系统中引入数据库后的系统,它由硬件系统、 数据库集合、数据库管理系统、相关软件、数据 库管理员、用户组成。
    10

    1.2.2 数据模型
    1、数据模型的基本概念 在现实世界中,将研究对象的抽象化、 形式化的描述过程称为模型。把表示客观 事物及其联系的数据及结构成为数据模型。 在数据管理系统中有层次模型、网状模型、 关系模型。下面就数据模型相关的基本概 念作以介绍。

    11

    ? 实体:客观存在并可以相互区别的事物称为实体。实体可 以是实际的事务,如教师、职工、部门、单位等;也可以 是抽象的事件,如比赛、订货、选修课程等。 ? 属性:实体所具有的某一特性称为属性,例如学生可以用 学号、姓名、性别、出生日期等属性描述。 ? 域:属性的取值范围称为域,如学生的一门课成绩取值为 0~100之间。

    ? 实体型:若干个属性名组成的集合表示一个实体的 类型成为实体型。 ? 实体集:同型实体的集合称为实体集,如全班学生 实体就是一个实体集。 ? 联系:实体联系有实体内部联系与实体外部联系。 实体内部联系是指实体内部各属性之间的联系。实 体外部联系也称实体之间的联系,通常是指不同实 体集之间的联系。
    12

    实体集之间的联系可分为三类
    ? 一对一联系:实体集A中的一个实体与实体 集B中至多有一个实体相对应,反之亦然, 则称实体集A与实体集B有一对一联系,记 为1:1。如旅客与车票之间的联系。

    13

    ? 一对多联系:实体集A中的一个实体与实体 集B中的N个实体相对应,反之实体集B中 的一个实体至多与实体集A中的一个实体相 对应,则称实体集A与实体集B有一对多联 系,记为1:N。如班级与学生之间的联系。

    14

    ? 多对多联系(M:N):实体集A中的一个实体 与实体集B中的N个实体相对应,反之实体 集B中的一个实体与实体集A中的M个实体 相对应,则称实体集A与实体集B有多对多 联系,记为M:N。如教师与学生之间的联系。

    15

    2. 数据模型

    数据库管理系统常用的数据模 型有下列三种:
    ?层次模型 ?网状模型 ?关系模型

    16

    关系模型(Relational Model)
    关系模型是以数学理论为基础构造的数 据模型,它用二维表格来表示实体集中实体 之间的联系。在关系模型中,操作的对象和 结果都是二维表,表格与表格之间通过相同 的栏目建立联系。 下表表名为学生成绩,表中一行称为一个 元组,表中一列称为一个属性。如表中有5个 属性,即学号、姓名、数学、英语、VFP。

    17

    学生成绩表

    学号 1 2 3

    姓名 李小明 张朋 李丽

    数学 98 89 86

    英语 VFP 85 87 98 96 88 100

    18

    关系模型的规范化:
    1)关系的每一个分量必须是一个不可分的数据 项,即表中不可含表; 2)同一关系中不能有相同的属性名; 3)关系中不允许有相同的元组; 4)在一个关系中元组的次序可任意; 5)在一个关系中列的次序可任意。

    19

    关系模型的表示形式:
    关系名(属性1,属性2,……,属性N) 例如:学生成绩表壳描述为如下关系: 学生成绩(学号,姓名,数学,英语,VFP)

    20

    3. 关系的完整性
    关系的完整性包括实体完整性、参照完整性和用户定义完整 性。现在先介绍一下与完整性相关的概念。 (1)概念 1)关键字:在关系中能唯一标识元组的一个或一组属性称为关键字, 如学生成绩表中的学号。 2)候选关键字:候选关键字也是关键字,它是具有关键字特性的一 个或多个属性的统称。若学生成绩表中学号、姓名都是无重复值, 那么学号与姓名就是候选关键字。若姓名有重复值,则姓名就不 能是候选关键字。 3)主关键字:主关键字是在多个候选关键字中选出的一个关键字。 一个关系中只能有一个主关键字,如在学生成绩表中学号为主关 键字。 4)外部关键字:若在一个关系R中一个属性不是本关系的主关键字 或候选关键字,而是另外一个关系S的主关键字或候选关键字, 则称此属性为本关系的外部关键字,R为参照关系,S为被参照关 系。
    21

    (2)关系的完整性
    1)实体完整性:是指关系中的主关键字不能取空值???值就是不确定的值。由于主关键字为空值,那这个元组 是无意义的。如学生成绩表中学号为空值,而其他属性 却有值,则该条记录无意义。 2)参照完整性:是用来约束关系与关系之间的关系,是 指一个关系R的外部关键字F与另一个关系S的主关键字 K相对应(即F是S的主关键字),则对R中的每一个元 组在F上的值必须为空值或等于S中某一个元素的主关键 字的值,如有以下两个关系(表): 学生(学号,姓名,性别,专业代号) 专业(专业代号,专业名)

    22

    3)用户定义完整性:是指根据用户的实际需 要,属性域的完整性的规定。在VFP数据库 表中是指字段的数据类型、宽度、精度、取 值范围、是否允许空值。如学生成绩表中的 数学,其数值类型可为整型,取0~100之间。

    23

    1.2.3 VFP启动与主界面
    1. VFP的功能 VFP是一个可视化数据库编程的开发工具,它可以 建立表、数据库,对数据库中的表建立联系并进行可视 化管理。项目管理器是对多种文档、多种程序进行统一 集中管理与维护的工具。VFP运用自身的向导、设计器、 生成器等实现可视化编程。VFP运用交互式与自动化工 作方式,方便了不同层次、不同应用用户的需求。VFP 支持多媒体、网络编程,它能高效、快捷地开发出令人 满意的应用软件。

    24

    2. VFP系统环境
    ? 处理器:主频为233MHz的奔腾2以上的微机 ? 内存储器:64MB以上内存 ? 外存储器:典型安装需85MB的硬盘空间,最大 安装需90MB硬盘空间 ? 显卡:支持800×600像素或更高分辨率显示器 ? 操作系统:Win95/98/me/2000/xp/NT 4.0或更高 版本的操作系统

    25

    3.VFP的安装
    1、将VFP系统光盘插入CD-ROM驱动器中 2、通过【我的电脑】找到setup.exe文件, 双击该文件以后按照安装向导的进一步提 示完成安装即可

    26

    4.VFP的启动
    1 ) 单 击 开 始 -》 程 序 -》Microsoft Visual Studio 6.0 -》 Microsoft Visual FoxPro 6.0 2)双击桌面上的VFP快捷方式图标 ……

    27

    5. VFP的退出
    1)按Alt+F4 2)在命令窗口中输入QUIT,然后回车 3)从文件菜单-》退出 4)双击左上角的控制图标 5)单击左上角控制图标-》关闭

    28

    6. VFP的主窗口
    VFP的主窗口包括:标题栏、菜单栏、工具栏、状态栏、 命令窗口和工作区几个组成部分。

    标题栏 菜单栏 常用工具栏 命令窗口

    工作区
    状态栏
    29

    7. VFP工作方式
    VFP工作方式主要分为两类:一类为交互工作 方式,这包括在命令窗口执行和用菜单或工具栏按 钮执行命令。另一类为自动化工作方式。它包括用 编写的程序、各种生成器等自动生成程序后进行执 行。在解决某一个问题时,两种工作方式哪一种或 两种方式结合使用都可以得到同一结果。这两种工 作方式为不同层次的用户、不同软件开发的用户提 供了方便的使用方式,用户可以根据自身的实际情 况进行选择使用。

    30

    8. 简单的VFP用户程序
    例1.1 设计一个表单,显示“欢迎您使用 VFP,祝您成为软件开发的精英”。 例1.2 设计一个口令系统,若口令正确,显 示欢迎您进入学生成绩管理系统,否则显示 非法用户。 例1.3 设计一个两个串交换的表单。

    31

    1.3 数据与数据运算
    VFP重要的作用就是对数据进行高效的处 理。在VFP中按数据存储类型分为整型、浮点 型、字符型、日期型等多种。按数据形式分 为常量、变量、函数、表达式等;

    32

    表1.1 数据类型
    数据类型
    字符型C 货币型Y

    取值范围
    任意字符,最大长度为254 -922337203685477.5808~ 922337203685477.5807

    说明
    任意文本 货币量

    日期型D
    日期时间型T

    {^0001-01-01}~ {^9999-12-31}
    {^0001-01-01 00:00:00 a} ~ {^9999-12-31 11:59:59 p}

    年月日表示日期
    年月日、时间 表示日期和时间

    33

    逻辑型L

    .T. .t. .Y. .y. .F. .f. .N. .n.

    布尔值

    整型I
    数值型N

    -2147483647~ 2147483647
    -0.9999999999E+19~ 0.9999999999E+20

    整数
    整数或小数

    浮点型F
    双精度B

    -0.9999999999E+19~ 0.9999999999E+20
    +/-4.94065645841247E-324~ +/-8.9884656743115E307

    整数或小数
    双精度浮点数

    34

    通用型G 备注型M

    受可用空间限制 受可用空间限制

    OLE对象引用 数据块引用

    35

    1.3.1 常量
    所谓的常量就是在程序执行中其值不变的量。 VFP中有6种类型的常量:
    数值型常量 字符型常量 逻辑型常量 货币型常量 日期型常量 日期时间型常量

    36

    1.数值型常量
    (1)整数:由数字组成,如0,-2,3。 (2)实数:
    ?十进制表示形式:它由数字、正负号、小数点组成。 如0.23,-3.14等。 ?指数表示形式:它由数字、小数点与E或e组成。如 1.23×103 可表示为1.23E3,如-1.23×10-2 可表示为1.23e-2。E前要有数字,E后要有整数。

    37

    2.字符型常量
    ? 字符型常量是用定界符(双引号“”、单引号‘‘、 方括号[])括起来的一系列有效字符,也称为字符 串。如“中国”、“微机”、 ’PC’、’abc’、[计 算机]、 [123]、“3.14159”等。 ? 字符串的最大长度为254个字符。 ? 若字符串中含有定界符,则必须用另一种定界符 括起来。 例如 “学生[爱好]计算机” [I’m a student.]
    38

    3.逻辑型常量
    逻辑常量只有真和假两种值。 逻辑真:.t. .T. .Y. .y. 逻辑假:.f. .F. .N. .n.

    39

    4. 货币型常量
    货币型常量以$符号开头,并四舍五 入到小数点后4位 例如: $100.12345,计算结果为$100.1235

    40

    5.日期型、日期时间型常量
    日期型常量:必须用花括号括起来 (1)通用格式: {mm/dd/yyyy},例如 {08/08/2008}或{8/8/08},空白的日期可表示 为{}、{/},需执行SET STRICTDATE TO 0 命令; (2)严格格式:{^yyyy-mm-dd},若要设置 严格的日期格式,例如{^2008-8-8},需执行 SET STRICTDATE TO 1命令。
    41

    日期时间型常量: (1)通用格式: {mm/dd/yyyy [hh[:mm][:ss][a|p]]} 如{9/15/99 8:45} (2)严格格式: {^yyyy-mm-dd [hh[:mm][:ss][a|p]]} , 如{^2008-8-8 8:8:8 p}
    42

    1.3.2 变量
    ? 变量是它的值可以改变的量。 ? 变量可分为两大类,一类为字段变量、另一 类为内存变量。 ? 变量是有名的。 ? 标识符是用来标识变量、函数、表、数据库、 文件等名子,即标识符就是一个名子。

    43

    标识符的组成规则:
    ? 由数字、字母、下划线组成。 ? 以字母、下划线开头。 ? 长度一般为1~128个字符,但对于数组名、自由 表名、自由表中的字段名、索引标识符名最多为 10个字符。 ? 避免使用VFP保留字。 ? 汉字与字母同等待遇(一个汉字占两个字符)。

    44

    ? 内存变量有N、C、Y、D、T、L六种类型。 ? VFP规定内存变量的类型可以改变,即同一 变量可以赋予不同类型的值。 ? 当内存变量与字段变量重名时,在访问内存 变量时,VFP规定在内存变量名前加M->或 M.,否则系统默认是访问字段变量。

    45

    1. 简单变量与相关命令
    (1)赋值命令 格式1:<变量>=<表达式> 格式2:STORE <表达式> TO <变量表> 功能: 格式1将表达式的值赋给变量。 格式2将表达式的值赋给变量表中的所有变量。 说明: 1)表达式是运算符与操作对象连接起来的式子, 表达式可为变量、常量、也可为表达式。 2)变量表中的各变量用逗号分隔。

    46

    (2)输出命令
    格式:? | ?? [<输出项目表>]
    功能:显示输出项目表中的各输出项。 说明: 1)输出项可为变量、常量、表达式。 2)输出项目表中的各项是用逗号分隔的,命令执行 时遇到逗号就空一格。 3)?是表示在下一行输出各输出项,??是在当前行 当前列输出各输出项。

    47

    例1.4 内存变量的应用
    a=1 b=.t. c={^2005-10-12} d='A' e={^2005-10-12 12:30:28 a} store 10 to f, g h=$123.23 ?a,b,c,d,e,f,g a=[中国] b="哈尔滨" c=123 ?a,b ??"c=",c ?a,b
    48

    2.数组
    ? 数组是按一定顺序排列的数据集合。 ? 数组中的每一个数据称为一个元素。 ? 数组中每一个元素的序号称为下标。 ? 数组中的所有元素在内存中是连续存放的。

    49

    数组的定义 格式: DIMENSION | DECLARE <数组名>(<下标上限1>[,< 下标上限2>][,……]) 功能:定义一维或多维数组 说明: 1)数组定义后系统自动为每一个元素赋逻辑假.F.。 2)数组有一个下标称为一维数组,有二个下标称为二 维数组。 3)数组的最小下标为1。 4)数组的类型可以通过使用加以改变,同一数组的元 素类型可以不同。
    50

    5)当在赋值、输入命令中只用数组名时,表示 数组的所有元素有同一个值。 6)数组名不能与简单变量重名。 7)由于数组各元素在内存中是连续存放的,二 维数组可作为一维数组来使用。 8)数组与后面章节中的表可相互传递数据。 9)数组中的每一个元素是简单变量,因为简单 变量所有的功能数组元素都具备,简单变量 使用的场合数组元素都是用。
    51

    例1.5 一维数组的应用。 dimension a(5), b(5) a=10 a(5)=23 b(1)=2*a(1) b(3)='中国' b(4)={^2005-10-6} b(5)=$123.2 ?a(1), a(2), a(3), a(4), a(5) ?b(1), b(2), b(3), b(4), b(5)
    52

    3.内存变量的显示与释放
    (1)内存变量的显示 格式:LIST | DISPLAY MEMORY [LIKE <通配符>] [TO PRINT | TO FILE <文件名>] 功能:显示内存变量的名、作用域、类型、值。 说明: 1)like子句是显示与通配符相匹配的内存变量信息。 通配符有?与*,?表示一个任意字符,*表示多个任意字符。 2)to print子句是将显示内存变量的信息同时从打印机输出。 3)to file <文件名>子句是将显示内存变量的信息同时存入由文件名 指定的文件中。 4)list不管显示的信息有多少,都一次显示完。 5)display显示的信息多于一屏时,分屏显示。每显示一屏就暂停下 来,待用户按任意键后继续显示。

    53

    (2)内存变量的释放
    格式1:CLEAR MEMORY 格式2:RELEASE <内存变量表> 格式3:RELEASE ALL [EXTENDED] 格式4:RELEASE ALL [LIKE <通配符> | EXCEPT <通配符>] 功能: 格式1释放所有内存变量。格式2释放由内存变量表指定的 内存变量。格式3释放所有内存变量,无任何选项释放所 有内存变量,在程序中要选extended,否则不能释放公共 变量。格式4当选like <通配符>时,释放与<通配符>相匹 配的内存变量;当选except <通配符>时,释放与<通配符> 不相匹配的内存变量。

    54

    例1.7 内存变量的显示与应用
    a=2 abc=6 b="中国" a1=[哈尔滨] dimension c(3) c(1)={^2005-10-20} c(2)=22 display memory like a? to file qq1 display memory like a* to file qq2 release all like a* display memory like a* release all
    55

    1.3.3 运算符与表达式
    VFP的运算符主要有六种: 算术运算符 字符串运算符 关系运算符 逻辑运算符 日期与日期时间运算符 宏替换运算符
    56

    1、算术运算符与表达式
    算术运算符要求它的的操作数必须为数值。由算术运算符与操作 数连接的式子为算术表达式,算术表达式的运算结果为数值。 表1.2 算术运算符与表达式

    优先级
    1

    运算符
    ()

    含义
    括号

    表达式
    (2 + 3)* 2

    结果
    10

    2

    * / % + -

    乘 除 取余 加 减

    3*2 10 / 2 10 % 3 2+3 2-3

    6 5 1 5 -1
    57

    3

    例1.8 算术运算符与表达式的应用
    x=2 y=3 ?(x+2)*y%6-x

    58

    2、字符串运算符
    字符串运算符用于多个字符串相连 接。它的操作数是字符串。由字符串运 算符连接起来的式子为字符串表达式。

    59

    表1.3 字符串运算符与表达式
    运算符 + 含义 表达式 结果 将两个字符串连 “中国 ” + ”北京” “中国 北京” 接起来组成一个 新字符串 将两个字符串连 “中国 ” - “北京” “中国北京 ” 接成一个新串。 若第一个字符串 尾部有空格,就 将此空格移到新 串的尾部

    -

    60

    例1.9 字符串运算符与表达式的应用
    a="黑龙江 " b="哈尔滨 " c="东方学院 " ?a+b+c ?a-b-c

    61

    3、关系运算符与表达式
    关系运算符用于操作数之间进行关系比较, 它的操作数是同类型的。由关系运算符连接起来 的式子为关系表达式。关系表达式的结果是逻辑 值。若关系成立,结果为真,否则为假。

    62

    表1.4 关系运算符与表达式
    运算符 > >= 含义 大于 大于等于 表达式 3>4 10>=6 “abc”>=“123” 结果 .F. .T. .T.

    <
    <= = == <>, #, != $

    小于
    小于等于 等于:串比较时串首相同就得真

    2<4
    3<=6 “ABC”=“AB”

    .T.
    .T. .T. .T. .T. .T.
    63

    完全相等:串比较时两串完全相 “ABC”==“ABC” 等得真 不等于 包含:左串为右串的子串时为真 2!=3 “ab”$”abcde”

    例1.10 关系运算符与表达式的应用
    clear x=2 y=3 ?x+3>=2, x!=y, x<y x="abcde" y="ab" z="cd" ?x=y, x==y, z$x, x!=y
    64

    4、逻辑运算符与表达式
    逻辑运算符用于对操作数进行逻辑运算。由逻辑运 算符连接起来的式子为逻辑表达式。当逻辑表达式成立 时,结果为.T.,否则结果为假.F.。 表1.5 逻辑运算符
    优先级 1 2 运算符 NOT或! AND 含义 非:操作对象的逻辑值的 反 与:AND两边操作对象全 委真,结果才为真 或:OR两边操作有一个 为真,结果就为真 表达式 NOT 3>4 10>2 AND 5>3 结果 .T. .T.

    3

    OR

    10>2 OR 3>10

    .T.

    65

    逻辑运算真值表
    A B A .AND.B A .OR. B .NOT. A

    .T.
    .T. .F. .F.

    .T.
    .F. .T. .F.

    .T.
    .F. .F. .F.

    .T.
    .T. .T. .F.

    .F.
    .F. .T. .T.

    66

    例1.11 逻辑表达式的应用
    a="中国黑龙江" b="黑龙江" c=3 ?b$a and c>3

    67

    5 日期、日期时间运算符与表达式
    日期、日期时间运算符可以对操作对 象进行加、减运算。用这种运算符连接起 来的式子为日期、日期时间表达式。

    68

    表1.6 日期时间运算符与表达式
    运算符 + 含义 日期与天数相加形 成新的日期 表达式 {^2005-10-2}+10 结果 {^2005-10-12}

    -

    日期与天数相减形 成新的日期;日期 与日期相减得两个 日期相差的天数
    日期时间与秒相加 形成新的日期时间

    {^2005-10-20}-10 {^2005-10-20}- {^2005-10-10}

    {^2005-10-10} 10

    + -

    {^2005-10-20 10:20:30 am}+10

    {^2005-10-20 10:20:40 am} {^2005-10-20 10:20:20 am} 20

    {^2005-10-20 10:20:30 am}-10 日期时间与秒相减 形成新的日期时间; {^2005-10-20 10:20:30 am}日期时间与日期时 {^2005-10-20 10:20:10 am} 间相减得秒

    69

    例1.12 日期、日期时间运算符及表达式的应用。

    a={^2005-11-20} b=10 ?a+b, b+a, {^2005-12-20}+10, a-10 c={^2005-11-20 10:30:30 a} d={^2005-11-20 10:20:10 a} ?c+10, 10+d, c-10, c-d

    70

    1.3.4 常用函数
    函数是一段程序代码,用来进行一些特定的运 算或操作,支持和完善命令的功能,帮助用户完成 各种操作与管理。按函数提供方式,可分为系统函 数和用户自定义函数。按函数运算、处理对象和结 果的数据类型,可分为数值型函数、字符型函数、 逻辑型函数、日期时间型函数、数据转换函数等。

    71

    1、系统函数的形式 函数名([形参表]) 2、函数的返回值 函数经过运算所得结果称为函数的返回值 3、常用函数的分类 通常将常用的函数分为数值函数、字符处理 函数、日期和时间函数、数据类型转换函数、测 试函数五种。
    72

    4、常用函数
    ? 数值函数 ? 字符函数 ? 日期和时间函数 ? 数据类型转换函数 ? 测试函数

    73

    (1)数值函数
    1)绝对值函数 格式:ABS(<数值表达式>) 功能:求数值表达式的绝对值 例1.14 ABS的应用 x=-2 ?abs(x), abs(10+x), abs(2+x), abs(2*x)

    74

    2)符号函数 格式:SIGN([数值表达式]) 功能:返回数值表达式的值的符号,当数值 表达式的值为正、负、0时函数分别为1,-1, 0 例1.15 SIGN的应用 x=3 ?sign(x), sign(-1), sign(x-3)
    75

    3)圆周率函数 格式:PI() 功能:返回圆周率。 例1.16 PI()的应用 s=pi()*10*10 ? “s=”, s

    76

    4)求平方根函数 格式:SQRT(<数值表达式>) 功能:返回数值表达式值得平方根,数值表 达式的值不能为负。 例1.17 SQRT()的应用 x=-4 y=2.22 ?sqrt(abs(-4)), sqrt(10+y)
    77

    5)求整数函数 格式:INT(<数值表达式>) 功能:INT()返回数值表达式的整数值 例1.18 求整数函数的应用 x=3.9 ?int(x), int(-x)

    78

    6)四舍五入函数 格式:ROUND(<数值表达式1>, <数值表达式2>) 功能:对数值表达式1四舍五入,保留数值表达 式2的值所制定的位数 例1.19 ROUND()函数的应用 x=123.456 ?round(x, 2), round(x, 1), round(x, 0), round(x, -1)

    79

    7)求余函数 格式:MOD(<数值表达式1>, <数值表达式2>) 功能:返回数值表达式1除以数值表达式2的余数, 且余数的符号与除数相同。若数值表达式1与数 值表达式2同号,函数值为两数的余数。若异号, 函数值为两数的余数再加上除数的值。 例1.20 MOD()应用 x=10 ?mod(x, 4), mod(x, -4), mod(-x, 4), mod(-x, -4)
    80

    8)求最大值函数 格式:MAX(<数值表达式1>, <数值表达式2>[, < 数值表达式3>……]) 功能:求数值表达式1,数值表达式2,数值表达 式3……中的最大值 9)求最小值函数 格式:MIN(<数值表达式1>, <数值表达式2>[, < 数值表达式3>……]) 功能:求数值表达式1,数值表达式2,数值表达 式3……中的最小值 例1.21 MAX()的应用 x=10 ?max(2, 10, -2, 20, 9, x)
    81

    10)求e的函数 格式:EXP(<数值表达式>) 功能:求e的数值表达式 例1.22 exp()的应用 ?exp(2)

    82

    (2)字符函数
    1)求字符串长度函数 格式:LEN(<字符表达式>) 功能:返回字符表达式的长度 例1.23 len()的应用 x=“中国哈尔滨” y=“china” ?len(x), len(y)

    83

    2)大小写转换函数 格式:LOWER(<字符表达式>) UPPER(<字符表达式>) 功能: LOWER()是将字符表达式中的大写字母转为小写字母 UPPER()是将字符表达式中的小写字母转为大写字母 例1.24 lower(),upper()的应用 x=“123study hard” ?lower(x), upper(x)
    84

    3)空格字符串生成函数 格式:space(<数值表达式>) 功能:返回由数值表达式值指定数目的空格 例1.25 space()的应用 x=“We” y=“are” z=“students.” ?x+space(2)+y+space(2)+z
    85

    4)删除前导尾部空格函数 格式:TRIM(<字符表达式>) LTRIM(<字符表达式>) ALLTRIM(<字符表达式>) 功能: TRIM()将字符表达式的值的尾部空格去掉 LTRIM()将字符表达式的值的前导空格去掉 ALLTRIM()将字符表达式的值的前导与尾部空格同时去掉 例1.26 TRIM(),LTRIM(),ALLTRIM()的应用 a=“ 中国” b=“首都 “ c=“ 北京 “ d=a+b+c ?a, b, c, d ?trim(a)+ltrim(b)+alltrim(c)
    86

    5)子串函数 格式:LEFT(<字符表达式>,<N>) RIGHT(<字符表达式>, <N>) SUBSTR(<字符表达式>, < N1 >[, <N2>]) 功能:LEFT()从字符表达式的左端开始取N个字符。 RIGHT()从字符表达式的右端开始取N个字符。 SUBSTR()从字符表达式的第N1个位置开始取N2字 符。若N2省略,取到最后一个字符。 例1.27 LEFT(),RIGHT(),SUBSTR()的应用 x=“中国北京首都” ?left(x, 4)+right(x, 4)+substr(x, 5, 4)
    87

    6)求子串位置函数 格式: AT(<字符表达式1>,<字符表达式2>[,<字符表达式3>]) 功能:AT()若字符表达式1为字符表达式2的子串时, 则返回字符表达式1的首字符在字符表达式2中的位 置。否则返回0。数值表达式3是字符表达式1在字 符表达式2中第几次出现,默认值为1。 例1.28 AT()的应用 x=“This is computer. The computer is our friend.” ?at(“is”, x), at(“is”, x, 3), at(“The”, x)
    88

    (3)日期和时间函数
    1)日期函数 格式:DATE() 功能:返回当前系统日期 2)时间函数 格式:TIME() 功能:返回当前系统时间 3)日期时间函数 格式:DATETIME() 功能:返回当前系统日期与时间 4)求天数函数 格式:DAY(<日期表达式>|<日期时间表达式>) 功能:返回天数 5)年份函数 格式:YEAR(<日期表达式>|<日期时间表达式>) 功能:返回年份
    89

    6)月份函数 格式:MONTH(<日期表达式>|<日期时间表达式>) 功能:返回月份 7)小时函数 格式:HOUR(<日期时间表达式>) 功能:返回小时 8)分函数 格式:MINUTE(<日期时间表达式>) 功能:返回分钟 9)秒函数 格式:SEC(<日期时间表达式>) 功能:返回秒数

    90

    例1.29 日期和时间函数的应用 x={^2005-10-2 01:30:28 am} ?date(), time(), datetime(), day(datetime()) ?year(x), month(x), hour(x), minute(x), sec(x)

    91

    (4)数值类型转换函数
    1)数值转换成字符型函数 格式:STR(<数值表达式>[, <L>[, N]]) 功能:将数值表达式转为长度为L,小数位数 为N的字符串。 例1.30 STR()的应用 x=-1.278 ?str(x, 8, 2), str(x, 2)

    92

    2)字符串转为数值函数 格式:VAL(<字符表达式>) 功能:将字符表达式值转为数值 例1.31 VAL的应用 x=“-12.45” y=“b2.6” ?val(x), val(y)
    93

    3)将字符串转为日期或时间函数 格式:CTOD(<字符表达式>) CTOT(<字符表达式>) 功能: CTOD()将字符表达式转为日期型数据 CTOT()将字符表达式转为日期时间型数据 例1.32 CTOD()与CTOT()的应用 ?ctod(“10/2/2005”), ctot(“10/2/2005 10:30:51 am”)
    94

    4)日期时间转为字符型数据 格式:DTOC(<日期表达式>|<日期时间表达式>[,1]) TTOC(<日期时间表达式>[,1]) 功能: DTOC()将日期表达式或日期时间表达式转为字符型 数据,若选1则字符格式YYYYMMDD共8个字符。 TTOC()将日期时间表达式转为字符型数据,若选1 则字符格式YYYYMMDD-HHMMSS共14个字符 例1.33 DTOC()与TTOC()的应用 ?dtoc(date()), ttoc(datetime())
    95

    (5)测试函数
    1)值域测试函数 格式: BETWEEN(<表达式1>, <表达式2>, <表达式3>) 功能:若表达式1值大于等于表达式2且小于等于表 达式3时,函数返回.T.,否则返回.F.。若表达式2, 表达式3有一个为NULL,则函数返回NULL。 例1.34 BETWEEN()的应用 x=100 ?between(x, 10, 200), between(x, 1, 20), between(x, NULL, 300)
    96

    2)空值测试函数 格式:ISNULL(<表达式>) 功能:若表达式值为NULL,函数返回.T.,否 则返回.F.。 例1.35 ISNULL()的应用 x=null y=3 ?isnull(x), isnull(y)
    97

    3)“空”值测试函数 格式:EMPTY(<表达式>) 功能:若表达式值为空,函数返回.T.,否则 返回.F.。 说明:数值型、双精度、货币、浮点、整型 为0就认为空。字符型空串、空格、制表、 回车、换行认为空。备注型无内容认为空。 逻辑型为.F.,日期、日期时间型为空时,认 为空。如CTOD(“”),CTOT(“”)都认为空
    98

    4)数据类型测试函数 格式:VARTYPE(<表达式>) 功能:返回表达式的类型,用大写字母表示 类型。C为字符型或备注行,N为数值型、 整型、浮点型、双精度型。Y为货币型,L 为逻辑型,O为对象型,G为通用型,D为 日期型,T为日期时间型,X为NULL值,U 为未定义
    99

    例1.36 VARTYPE()应用 a=“abc” b=2 c=null ?vartype(a), vartype(b), vartype?

    100

    1.4 小结
    本章主要介绍了数据库的发展与特点,数 据库的基本知识,数据与数据运算。通过学习 数据模型可知,关系数据模型就是一张二维表, 它是建立在严格的数学概念基础上的,既简单 又便于实现。掌握VFP的数据类型及常用函数, 在进行数据运算时要严格区分常量、变量、表 达式及应用规则,为今后应用VFP开发工具编 制应用软件打下良好的基础。

    101

    习题与上机
    ? P26: 1、2

    102


    推荐相关:

    Visual FoxPro程序设计幻灯片.徐红波.第1章_图文.ppt

    Visual FoxPro程序设计讲师: 讲师:徐红波 E-mail: [email protected] 1 目录第1章 概述 第2章 表的操作 第3章 数据库的基本操作 第4章 查询与视图 第5章 ...

    Visual FoxPro程序设计幻灯片.徐红波.第1章.ppt

    Visual FoxPro程序设计讲师:徐红波 E-mail: [email protected] 1 目录第1章 概述 第2章 表的操作 第3章 数据库的基本操作 第4章 查询与视图 第5章 程序...

    Visual FoxPro程序设计幻灯片.徐红波.第7章_图文.ppt

    Visual FoxPro程序设计幻灯片.徐红波.第7_互联网_IT/计算机_专业资料。Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected] 第7章 菜单与工具栏...

    Visual FoxPro程序设计幻灯片.徐红波.第9章_图文.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]

    Visual FoxPro程序设计幻灯片.徐红波.第8章_图文.ppt

    Visual FoxPro程序设计幻灯片.徐红波.第8_其它技巧_PPT制作技巧_实用文档。Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected] 第8章 报表应用程序...

    Visual FoxPro程序设计幻灯片.徐红波.第6章_图文.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]

    Visual FoxPro程序设计幻灯片.徐红波.第3章_图文.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]

    Visual FoxPro程序设计幻灯片.徐红波.第4章_图文.ppt

    Visual FoxPro程序设计幻灯片.徐红波.第4_工学_高等教育_教育专区。vfp Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected] 第4章 查询与视图在...

    Visual.FoxPro程序设计第1章_图文.ppt

    Visual.FoxPro程序设计第1章 - Visual FoxPro程序设计 讲师:徐红波 E-mail: [email protected] 1 目录 第1章 概述 第2章 表的操作 第3章...

    Visual FoxPro程序设计幻灯片.徐红波.第3章.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]

    Visual FoxPro程序设计幻灯片.徐红波.第3章.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]

    Visual FoxPro程序设计幻灯片.徐红波.第7章.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]

    Visual FoxPro程序设计幻灯片.徐红波.第4章.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]

    Visual FoxPro程序设计幻灯片.徐红波.第5章.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]

    Visual FoxPro程序设计幻灯片.徐红波.第6章.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]

    Visual FoxPro程序设计幻灯片.徐红波.第8章.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]


    Visual FoxPro程序设计幻灯片.徐红波.第6章_图文.ppt

    Visual FoxPro程序设计教程讲师:徐红波 E-mail: [email protected]

    Visual FoxPro程序设计幻灯片.徐红波.第9章_图文.ppt

    Visual FoxPro程序设计幻灯片.徐红波.第9_IT认证_资格考试/认证_教育专区。Visual FoxPro程序设计幻灯片.徐红波. Visual FoxPro程序设计教程讲师:徐红波 E-mail: ...

    Visual FoxPro程序设计幻灯片.徐红波.第8章_图文.ppt

    Visual FoxPro程序设计幻灯片.徐红波.第8_IT/计算机_专业资料。Visual FoxPro程序设计幻灯片.徐红波 Visual FoxPro程序设计教程讲师:张勇 E-mail: [email protected]

    江苏七位体彩开奖结果 | 江苏七位体彩开奖结果
    All rights reserved Powered by 江苏七位体彩开奖结果 江苏七位体彩开奖结果 www.jwbw.net
    copyright ©right 2010-2021。
    文档资料库内容来自网络,如有侵犯请联系客服。[email protected]
  • 黄淳的专栏作者中国国家地理网 2019-06-12
  • 坚守传统手工包粽 探访沪上老字号粽子生产车间 2019-06-10
  • 满满的都是屏 OPPO妹子最爱手机曝光 2019-06-10
  • 北京进入旅游旺季 警察提示游客需防揽客者连环设套忽悠购物 2019-06-08
  • 我写文章不是为了别人的赞许,是为了讨论问题,让人有思考的价值,就像你网名一样,探寻真理。我并非就全盘赞成市场经济,只是在讨论它的合理性,在文中也提问,“既然我们 2019-06-08
  • 山东假存单揽储1.6亿难追回,该省另一相似案件银行被判赔 2019-05-31
  • 天上不会掉馅饼,想要富起来,就要把别人的据为己有,能把别人的据为己有的问世间能有谁,能有几人,所谓的专家明白了吗。 2019-05-31
  • 乌鲁木齐市中级人民法院庭审在线直播 2019-05-21
  • 第530期:为何吃新鲜蔬果能抗肿瘤、强免疫……?因为有“它”! 2019-05-19
  • 世界杯大中华区官方票代谈假票门黄牛倒票行为 2019-05-19
  • 英媒:漫步北京上海,仿佛踏入未来 2019-05-17
  • 2017年各地领导干部给网友书写23万封回信 2019-05-17
  • 回到1396年的波斯街头文章中国国家地理网 2019-04-23
  • 送你一份时代天街附近必吃的火锅名单 2019-04-23
  • 幻想“暴富式创业”侮辱谁的智商? 2019-04-13
  • 辽宁35选7风采走势图 江西快3开奖最快 三期必开的一尾中特平 线上北京赛车官网下载 安徽快3跨度和值走势图带连线 大额买彩票 360彩票老11选5遗漏 中彩票的人之后的下场 棒球大联盟第一季 广东26选5有几个奖 快乐扑克24点 大乐透13081开奖结果 中国彩票网生肖时时彩 天津5体育 中国足彩网注册送3元