nullVisual FoxPro 6.0
数据库与程序
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
Visual FoxPro 6.0
数据库与程序设计目录目录第1章 数据库系统
第2章 VFP基础知识
第3章 VFP数据库及其操作
第4章 查询和视图
第5章 结构化查询语言SQL
第6章 结构化程序设计
第7章 面向对象程序设计
第8章
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
单设计与应用
第9章 报表设计与应用
第10章 菜单设计与应用
第11章 应用系统的开发课程进度课程进度第1 章 数据库系统第1 章 数据库系统1.1 数据库基础知识
1.2 Visual FoxPro 6.0的特点、安装和运行
1.3 Visual FoxPro 6.0的集成开发环境
1.4 Visual FoxPro 6.0系统的配置
1.5 Visual FoxPro 6.0的文件类型1.1 数据库基础知识1.1 数据库基础知识 随着计算机技术的发展,计算机的主要应用已从科学计算转变为事务数据处理。在事务处理过程中,并不需要进行复杂的科学计算,而是要进行大量数据的存储、查找、统计等工作,如教学管理、人事管理、财务管理等,就需要对大量数据进行管理,而数据库技术就是目前最先进的数据管理技术。
Microsoft公司推出的Visual FoxPro 6.0是一个可运行于Windows 95/98/NT平台的32位数据库开发系统,也是目前微机上最优秀的数据库管理系统之一。1.1.1 基本概念
1.信息与数据1.1.1 基本概念
1.信息与数据 ⑴ 信息
信息泛指通过各种方式传播的、可被感受的声音、文字、图像、符号等所表征的某一特定事物的消息、情报或知识。
⑵ 数据
数据是指表达信息的某种物理符号。在计算机中,数据是指能被计算机存储和处理的、反映客观事物的物理符号序列。
信息来源于数据,信息依靠数据来表达。
表达信息的符号可以是数字、字母、文字和其它特殊字符组成的文本形式的数据,还可以是图形、图像、动画、影像、声音等多媒体数据。
在计算机中,主要使用磁盘、光盘等外部存储器来存储数据,通过计算机软件和应用程序来管理及处理数据。 1.1.1 基本概念
2.数据处理1.1.1 基本概念
2.数据处理 数据处理是对各种类型的数据进行收集、整理、存储、分类、加工、检索、维护、统计和传播等一系列活动的总称。
数据处理的目的是从大量的、原始的数据中抽取对人们有价值的信息,并以此作为行为和决策的依据。
数据处理的核心问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
是数据管理。
数据库技术主要研究在计算机环境下如何合理组织数据、有效管理数据和高效处理数据。1.1.1 基本概念
2.数据处理1.1.1 基本概念
2.数据处理 数据管理技术经历了三个阶段:
◇ 人工管理阶段
◇ 文件系统阶段
◇ 数据库管理阶段
数据库管理主要解决的问题是:
① 数据冗余度
② 数据独立性
③ 数据一致性1.1.1 基本概念
3.数据库系统 1.1.1 基本概念
3.数据库系统 数据库系统包括以下几个基本概念:
⑴ 数据库(DB) 指以一定的组织方式存储在计算机存储设备上、能为多个用户所共享的、与应用程序彼此独立的相关数据的集合。它不仅包括描述事物的数据本身,而且包括相关事物之间的联系。
⑵ 数据库管理系统(DBMS) 是为数据库的建立、使用和维护而配置的软件,是数据库系统的核心组成部分。
null⑶ 数据库系统(DBS) 指引进数据库技术后的计算机系统。数据库系统DBS(Database System)由硬件、软件、数据库和用户四部分构成整体。
数据库:是数据库系统的核心和管理对象,数据库是存储在一起的相互有联系的数据集合。数据库中的数据是集成的、共享的、最小冗余的、能为多种应用服务,数据是按照数据模型所提供的形式框架存放在数据库中。
硬件:数据库系统是建立在计算机系统上,运行数据库系统的计算机需要有足够大的内存以存放系统软件、需要足够大容量的磁盘等联机直接存取设备存储数据库庞大的数据。需要足够的脱机存储介质(磁盘、光盘、磁带等)以存放数据库备份。需要较高的通道能力,以提高数据传送速率。要求系统联网,以实现数据共享。
软件:数据库软件主要指数据库管理系统DBMS(DataBase Management System)。DBMS是为数据库存取、维护和管理而配置的软件,它是数据库系统的核心组成部分,DBMS在操作系统支持下工作。DBMS主要包括数据库定义功能、数据操纵功能、数据库运行和控制功能、数据库建立和维护功能、数据通信功能。
用户:数据库系统中存在一组管理(数据库管理员DBA)、开发(应用程序员)、使用数据库(终端用户)的用户。
null⑷ 数据库应用系统 指系统开发人员利用数据库系统资源开发出来的,面向某一类信息处理问题而建立的软件系统。其基本构成如下图:1.1.2 数据模型1.1.2 数据模型 数据模型是用来描述现实世界中的事物及其联系的,它将数据库中的数据按照一定的结构组织起来,以反映事物本身及事物之间的各种联系。
1.层次模型 用树型结构表示实体及其之间的联系。
2.网络模型 用网状结构表示实体及其之间的联系。
3.关系模型 用二维表结构来表示实体及其之间的联系。
关系数据模型以关系数学理论为基础,一个二维表就是一个关系,不仅能描述实体本身,而且还能反映实体之间的联系,模型简单、使用方便,应用也最广泛。1.1.2 数据模型1.1.2 数据模型1.1.2 数据模型1.1.2 数据模型1.1.3 关系数据库及其特点
1.关系数据库 1.1.3 关系数据库及其特点
1.关系数据库 以关系模型为基础组成的数据库就是关系数据库。
关系数据库由包含数据记录的多个数据表组成,用户可在有相关数据的多个表之间建立相互联系。
在关系数据库中,数据被分散到不同的数据表中,以便使每一个表中的数据只记录一次,从而避免数据的重复输入,减少冗余。1.1.3 关系数据库及其特点
2.关系术语 1.1.3 关系数据库及其特点
2.关系术语 ⑴ 表:存放一组同类实体的集合
⑵ 记录:记载某个实体属性的一组信息(表中的一行)
⑶ 字段:记载某个实体的一个属性的数据项(表中的一列)
⑷ 关系:指各数据表之间的连接方法,用二维表表示
⑸ 关系模式:关系名(属性1,属性2,…,属性n)
例如,学生(学号,姓名,性别,出生日期,籍贯)
⑹ 主关键字:用来惟一标识关系中记录的字段或字段组合
⑺ 外部关键字:用于连接
另一个关系的字段,并且在另一个关
系中为主关键字段1.1.3 关系数据库及其特点
3.关系的主要特点1.1.3 关系数据库及其特点
3.关系的主要特点⑴ 关系中每个属性必须是不可分割的数据单元
⑵ 关系中每一列元素必须是类型相同的基本数据项数据
⑶ 同一个关系中不能有相同的字段和记录
⑷ 关系的行、列次序可以任意交换,不影响其信息
内容
财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容
null1.2 Visual FoxPro 6.0的特点、安装和运行(自修)1.3.1 VFP的工作方式
1.人机交互方式(命令方式、菜单方式)1.3.1 VFP的工作方式
1.人机交互方式(命令方式、菜单方式)菜单命令工具按钮命令窗口1.3 Visual FoxPro 6.0的集成开发环境null
命令方式:用户根据系统的语法规则构造命令,系统对命令解释执行。
菜单方式:VisualFoxPro系统提供了一图形用户界面,用户可通过选择某菜单项中的某个选项来操纵数据库。这使用户可不用记住命令的具体规定,借助对话框,通过和系统的对话来完成相应的工作。 交互方式下,输入或选择一条命令后可立即执行,并显示结果,操作便捷、直观,但不适于解决复杂的信息管理问题。1.3.1 VFP的工作方式
2.程序执行方式1.3.1 VFP的工作方式
2.程序执行方式 在程序执行方式下,一个程序可以被反复执行,且在执行过程中一般不需要人为干预 。程序方式 :把多条命令以命令序列的形式集中起来编写成一个程序存放在磁盘上(.PRG) ,构成程序。在程序中的一行通常叫做一条语句。如完成某项任务需要执行若干条命令,程序方式很方便。1.3.2 VFP的窗口、菜单和工具栏
1.窗口1.3.2 VFP的窗口、菜单和工具栏
1.窗口 ⑴ 主窗口:显示命令执行的结果
⑵ 命令窗口:输入交互命令
⑶ 数据浏览和编辑窗口:浏览或修改数据表中的记录
⑷ 代码窗口:显示或编辑程序代码数据浏览和编辑窗口代码窗口命令窗口主窗口1.3.2 VFP的窗口、菜单和工具栏
2.菜单1.3.2 VFP的窗口、菜单和工具栏
2.菜单 VFP的菜单系统以交互方式提供了数据库操作的各种命令,启动系统后主窗口的菜单栏中一般包含8个菜单项。随着当前执行的任务不同,菜单栏中的各个选项也随之动态变化。1.3.2 VFP的窗口、菜单和工具栏
3.工具栏1.3.2 VFP的窗口、菜单和工具栏
3.工具栏 工具栏中显示了一些常用的功能。默认情况下,“常用”工具栏随系统启动时一起打开,其它工具栏则随着某一种类型的文件打开后自动打开。
选择“显示/工具栏”菜单命令,打开“工具栏”对话框,可以选择需要的工具栏;取消选中则可关闭该工具栏。 常用工具栏1.3.3 VFP的向导、设计器和生成器
1.向导1.3.3 VFP的向导、设计器和生成器
1.向导 向导是一个交互式程序,能帮助用户快速完成一般性的任务。通过在向导的一系列屏幕显示中回答问题或选择选项,向导会自动建立一个文件,或者根据用户的
响应完成一项任务。1.3.3 VFP的向导、设计器和生成器
2.设计器1.3.3 VFP的向导、设计器和生成器
2.设计器 设计器是一种可视化的设计工具,用户无需涉及命令即可快速、方便地创建并定制应用程序的组件。1.3.3 VFP的向导、设计器和生成器
3.生成器1.3.3 VFP的向导、设计器和生成器
3.生成器 生成器是一种带有选项卡的对话框,用于简化对表单、复杂控件和参照完整性代码的创建和修改过程.1.3.4 VFP的项目管理器
1.启动项目管理器1.3.4 VFP的项目管理器
1.启动项目管理器 项目是文件、数据、文档以及VFP对象的集合,项目可作为文件(.PJX)保存在磁盘中。
项目管理器是创建和管理项目的一个极为便利的工作平台,开发一个应用系统时,通常都是先从创建项目文件开始,利用“项目管理器”来组织和管理项目中的各类数据和对象。
1. 启动项目管理器
通过新建项目文件或打
开已有的项目文件可启动项
目管理器。用户新建一个项
目,系统自动打开项目管理
器窗口。1.3.4 VFP的项目管理器
2.项目管理器的组成1.3.4 VFP的项目管理器
2.项目管理器的组成 以分层结构视图显示当前项目中的各类数据。
单击数据项前面的“+”可展开此项的列表,单击数据项前面的“-”可折叠展开的列表。项目名称选项卡1.3.4 VFP的项目管理器
3.定制项目管理器1.3.4 VFP的项目管理器
3.定制项目管理器 ⑴ 移动和缩放项目管理器 ⑵ 展开或折叠项目管理器
⑶ 拆分项目管理器(折叠方式下用鼠标拖动)
⑷ 停放项目管理器(用鼠标拖动项目管理器停放在工具栏)1.3.4 VFP的项目管理器
4.项目管理器的操作1.3.4 VFP的项目管理器
4.项目管理器的操作 ⑴ 添加、移去或删除文件
按“添加”按钮,打开“打开”对话框,可以将外存上的相关文件添加到项目中。
按“移去”按钮,将选定的对象从项目中移去。
按“删除”按钮,将选定的对象从硬盘上删除,并且不可恢复。
null⑶ 为文件添加说明
选择“项目/编辑说明”菜单命令,或文件快捷菜单的“编辑说明”命令。⑵ 创建和修改文件
按“新建”按钮,将创建特定类型的文件。
按“修改”按钮,将对选定的文件进行修改。1.4 VFP系统的配置1.4 VFP系统的配置 VFP安装和启动之后,系统自动用一些默认值来设置环境。也可以重新设置参数以满足不同工作方式或工作环境的需要。
1. 使用“选项”对话框配置系统
选择“工具/选项”菜单命令,打开“选项”对话框,其中有12个选项卡,用于不同类别环境的设置。
2.保存设置
⑴ 将设置保存为仅在当前工作
期有效:“确定”。
⑵ 将设置保存为永久性设置:
“设置为默认值”。
null 也可以在命令窗口或程序中使用SET命令配置环境,设置结果仅在当前工作期有效。
例如:SET DATE TO YMD
SET CENTURU ON
SET CENTURY TO 19 ROLLOVER
SET MARK TO “.”
?CTOD(“49-05-01”)1.5 VFP文件类型1.5 VFP文件类型null 在VisualFoxPro系统支持近40种文件类型,下面简单介绍几种比较常用的文件。
1.数据文件(.DBF和.FPT)
在VisualFoxPro中有两种形式的数据文件,一种是扩展名为.DBF的文件,用来存储用户的除备注型、通用型以外的信息数据。在逻辑上以记录(行)和字段(列)的二维表格形式存储数据,简称为表文件。
另一种是扩展名为.FPT的文件,称为备注文件,如果创建有备注字段或通用型字段的数据表文件,则系统自动建立辅助文件,其文件名与表文件名相同,用来存储用户的备注型和通用型字段的数据。
2.程序文件(.PRG和.FXP)
扩展名为.PRG的文件,又称命令文件,用于存储用VisualFoxPro语言编写的用户应用程序,它是ASCII码文件,是使用数据库进行数据处理、实现各种管理任务的文件。
扩展名为.FXP的文件是用于存储编译好的目标程序的文件。
3.索引文件(.IDX和 .CDX)
索引文件是对表文件记录按索引关键字的值排序后建立的辅助文件,文件中仅包含排了序的字段值以及对应的记录号,用于快速查询库文件信息。
4.内存变量文件(.MEM)
用来保存已定义的内存变量。使用内存变量文件可提高内存空间利用率,需要使用变量时将其读入内存,不用时存入内存变量文件。null5.查询文件(.QPR)
用于保存通过RQBE窗口设置的查询条件和对查询输出的要求。6.报表格式文件(.FRX和.FRT)
扩展名为.FRX的文件包括了用来生成报表所需要的报表格式信息。这些信息是用REPORT命令采用人机对话方式提示用户输入信息而建立的。而扩展名为.FRT的文件则用来保存报表定义的备注文件。
7.屏幕格式文件(.SCX和.SCT)
屏幕格式文件是由用户自行设计的定义屏幕格式的一组文件,用于数据的输入和输出。其中.SCX是屏幕格式的定义文件,.SCT为定义备注文件。系统则根据屏幕格式的定义文件自动生成程序文件,其中.SPR为源文件,.SPX为目标程序文件。
8.菜单格式文件(.MNX和.MNT)
菜单格式文件是由用户自行设计的定义菜单格式的一组文件。.MNX和.MNT分别为保存菜单格式的定义文件和定义备注文件,菜单格式定义后,系统根据菜单格式的定义自动生成相应的程序,其中.MPR为源程序,.MPX为目标程序。
9.视图文件( .VUE)
用于保存程序运行环境的设置,以备需要时恢复所设置的环境参数。第2 章 VFP基础知识第2 章 VFP基础知识2.1 数据类型
2.2 数据存储
2.3 运算符和表达式
2.4 函数
2.5 命令格式及书写规则2.1 数据类型2.1 数据类型2.1 数据类型2.1 数据类型2.2.1 常量2.2.1 常量 常量是指在数据处理过程中其值始终保持不变的量。
1. 数值型常量:数学中的十进制整数或小数。
如:10.25,-123.567
2. 浮点型常量:数值型常量的浮点格式。
如:1.234E+15,1.234E-15
3. 字符型常量:用单撇号、双撇号、方括号括起来的字符串。 如: “ABCD”、’1234’、[中国北京]
4. 逻辑型常量:用下圆点作为定界符,只有真和假两个值
如: .T.、.t.、.Y.、.y. (真);.F.、.f.、.N.、.n. (假)
5. 日期型常量/日期时间型常量:
表示一个确切的日期和时间,用花括号作为定界符。
如:{^2003-03-03}、{^1996-03-20 12:30:15}
也可以用CTOD函数进行转换,如 CTOD(”03/03/2003”)2.2 数据存储null 日期型常量必须用花括号括起来!
(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命令。6.货币型常量:货币型常量用来表示货币值,其表示方法必须以货币符号“$”开头,且小数位数固定为4位。例如:$7856.23。 2.2.2 变量2.2.2 变量 变量是指在数据处理过程中其值可以改变的量。
变量用标识符标识,标识符是以字母(汉字)或下划线开头,由字母、汉字、数字和下划线组成的字符串,长度不能超过128个字符。
VFP中的变量分为字段变量和内存变量两种:
1. 字段变量
字段变量是在建立表结构时定义的变量,有数值型(N)、浮点型(F)、字符型(C)、逻辑型(L)、日期型(D)、备注型(M)、通用型(G)。字段变量一旦定义后,它的类型和宽度就不能随意改变,除非对表结构重新修改定义。当定义好一个数据表的结构,该表中的各个字段名就形成了各个字段变量。
字段变量必须先定义然后才能使用。
null2. 内存变量
是一种临时信息存储单元,独立于数据表,可以根据需要随时建立。其类型取决于变量值的类型,可以把不同类型的数据赋给同一个变量。
当内存变量名与数据表中的字段变量名相同时,要访问该内存变量,必须在变量名前加上前缀M.或M->,否则系统将优先访问同名的字段变量。2.2.2 变量2.2.2 变量 ⑴ 建立内存变量
格式1:<内存变量名>=<表达式>
格式2:STORE <表达式> TO <内存变量名表>
功能:在定义内存变量的同时确定内存变量的值和类型。
例如,X=5 && 定义变量X,并把数值5赋给X
STORE X+10 TO Y && 定义变量Y,并将表达式X+10的值赋给Y
STORE ”北京” TO A,B,C && 定义变量A,B,C,并赋于相同的字符数据
X=.F. && 重新定义变量X,并赋逻辑值 内存变量是独立于表文件的变量,有数值型、字符型、货币型、日期型、日期时间型和逻辑型六种类型(N、C、Y、D、T、L),内存变量无备注型、无通用型、无浮点型。VFP规定内存变量的类型可以改变,即同一变量可以赋予不同类型的值。2.2.2 变量2.2.2 变量 ⑵ 输出内存变量的值
格式1:? <表达式表>
格式2:?? <表达式表>
功能:计算<表达式表>中各表达式的值并在屏幕上显示出来。?是表示在下一行输出各输出项,??是在当前行当前列输出各输出项。
⑶ 显示或打印内存变量
格式:LIST|DISPLAY MEMORY [LIKE <通配符>]
[TO PRINTE|TO FILE <文件名>]
功能:显示或打印内存变量的当前信息,显示内存变量的名、作用域、类型、值。
null
说明:
1)like子句是显示与通配符相匹配的内存变量信息。
通配符有?与*,?表示一个任意字符,*表示多个任意字符。
2)to print子句是将显示内存变量的信息同时从打印机输出。
3)to file <文件名>子句是将显示内存变量的信息同时存入由文件名指定的文件中。
4)list不管显示的信息有多少,都一次显示完。
5)display显示的信息多于一屏时,分屏显示。每显示一屏就暂停下来,待用户按任意键后继续显示。
2.2.2 变量2.2.2 变量 ⑷ 清除内存变量
格式1:CLEAR MEMORY
格式2:RELEASE <内存变量名表>
格式3:RELEASE ALL [LIKE <通配符>|EXCEPT <通配符>]
功能:释放所有内存变量或指定的内存变量。
例如,RELEASE X1 && 释放内存变量X1
RELEASE ALL LIKE X* && 释放所有第1个字母为X的内存变量
RELEASE ALL && 释放所有内存变量
3. 系统变量
以字符“_”开头的、由VFP系统自动定义生成的变量,其名称也是系统事先定义好的
例如,_PAGENO,_ALIGNMENTnull内存变量操作实例:2.2.2 变量2.2.2 变量 4.数组
数组占内存中连续的一片存储区域,即数组中的所有元素在内存中是连续存放的,如右图所示。数组中的每一个数据称为一个元素。数组中每一个元素的序号称为下标,数组中不同元素通过下表区别。数组使用之前必须定义。
通过赋值语句可以为各个数组元素分别赋值,且所赋值的数据类型可以不同。 null 数组必须先定义后使用,且使用时下标不能超界。
每个数组元素通过数组名和相应的索引编号被引用。数组定义:DIMENSION | DECLARE <数组名1>(<索引值1>[,<索引值2>]) [,<数组名2>(<索引值3>[,<索引值4>])]…说明:
1)数组定义后系统自动为每一个元素赋逻辑假.F.。
2) 有一个下标的称为一维数组,有二个下标的称为二维数组。
3)数组的最小下标为1。
4)数组的类型可以通过使用加以改变,同一数组的元素类型可以不同。null
例如:定义一个一维数组AA和一个二维数组BB:
DIMENSI0N AA(5),BB(2,3)
将数值0赋给数组AA中的所有元素:STORE 0 TO AA
将字符串xyz赋给数组元素BB(1,1):BB(1,1)=”XYZ”
将数值125赋给数组元素BB(2,1): BB(2,1)=125
将逻辑真值T赋给数组元素BB(2,3):BB(2,3)=.T.5)当在赋值、输入命令中只用数组名时,表示数组的所有元素有同一个值。
6)数组名不能与简单变量重名。
7)由于数组各元素在内存中是连续存放的,二维数组可作为一维数组来使用。
8)数组与后面章节中的数据表可相互传递数据。
9)数组中的每一个元素是简单变量,因为简单变量所有的功能数组元素都具备,简单变量使用的场合数组元素都适用。
2.2.3 其它数据存储容器
1.数据表 2.2.3 其它数据存储容器
1.数据表 数据表是一系列相关数据的集合。
字段是数据表中存储、处理数据的基本元素,一个具体的字段只能存储同一种类型的数据。
记录是数据表中一组字段的集合,同一个数据表中所有记录都具有相同的字段名,且同名字段在每个记录中的数据类型、数据长度都是相同的。
字段和记录构成了一个数据表的全部内容。结构记录字段2.2.3 其它数据存储容器
2.对象2.2.3 其它数据存储容器
2.对象 对象(Object)是一个具有属性和行为特征的实体,它可以是任何具体事物。例如现实生活中的计算机、电话机、电视机等。
在面向对象的程序设计中,对象是编程的基本元素,它将某一数据和使用该数据的一组基本操作或过程封装在一起,构成一个统一体。
VFP中的对象可以是表单、标签或各种控件等。
每个对象都有自己的属性和行为特征。 2.3 运算符和表达式2.3 运算符和表达式 运算符是对相同类型数据进行运算操作的符号。
用运算符将常量、变量和函数等数据连接起来的式子称为表达式。
表达式的类型由运算符的类型决定,每个表达式按照规定的运算规则都产生一个惟一的值。表达式包括:
◇ 数值表达式
◇ 字符表达式
◇ 日期表达式
◇ 关系表达式
◇ 逻辑表达式2.3 运算符和表达式
1.数值表达式2.3 运算符和表达式
1.数值表达式 数值表达式:用算术运算符将数值型数据连接起来的式子,其结果仍是数值型数据。常用的数据运算符:例1:?4+3*2
例2: ?20-3^2+SQRT(9)2.3 运算符和表达式
2.字符表达式2.3 运算符和表达式
2.字符表达式 字符表达式:用字符串运算符将字符型数据连接起来的式子,其结果仍是字符型数据。
⑴ “+”运算符:两个字符串首尾相连形成一个新的字符串。
⑵ “-”运算符:两个字符串相连,并将前字符串尾部的空格移到合并后的新字符串的尾部。
例如,? ”ABCD ”+”EFG”+”1234” && 结果为:ABCD EFG1234
? ”ABCD ”-”EFG ”+”1234” && 结果为:ABCDEFG 12342.3 运算符和表达式
3.日期表达式2.3 运算符和表达式
3.日期表达式 日期表达式:用算术运算符将日期型和数值型数据连接起来的式子,其结果为日期型数据或数值型数据。
例如,? {^2002-01-20}+5 && 结果为日期: 2002/01/25
? {^2002-01-20}-5 && 结果为日期: 2002/01/15
? {^2002-01-20}-{^2001-10-28} && 结果为天数: 84null2.3 运算符和表达式
4.关系表达式2.3 运算符和表达式
4.关系表达式 关系表达式:用关系运算符将运算元素连接起来的式子,其结果为逻辑真值(.T.)或逻辑假值(.F.)。关系运算符包括:例如:
S1=”读者”
S2=”读者文摘”
SET EXACT ON
? S1=S2, S2=S1, S2==S1
&& 结果是 .F. .F. .F.
SET EXACT OFF
? S1=S2, S2=S1, S2==S1
&& 结果是 .F. .T. .F.
?“ab”$”abcde”
&& 结果是.T.2.3 运算符和表达式
5.逻辑表达式2.3 运算符和表达式
5.逻辑表达式 逻辑表达式:用逻辑运算符将逻辑型运算元素连接起来的式子,其结果仍是逻辑型数据。
⑴ AND (与):两个表达式的值均为真,结果才为真;否则为假
⑵ OR (或):两个表达式的值均为假,结果才为假
⑶ NOT、! (取反):真值变为假值,假值变为真值
例如
? 10>5 .AND. 5<2 ,10>5 .OR. 5<2 && 结果为 .F. .T. 2.3 运算符和表达式
6.运算优先级2.3 运算符和表达式
6.运算优先级 ◇ 不同类型运算的运算顺序:
括号→函数→算术运算→字符运算→关系运算→逻辑运算
◇ 同级运算从左至右顺序进行
例如,x1=3,y1=-2,x2=8,y2=-6
则 x1+y1>x2+y2 .AND. .NOT.(y1
函数功能:取字符变量内容
例如:X=’西大’
P = ’&X同学们,新年好!’ (P的内容为:西大同学们,新年好!) 2.4 函数
3.日期函数2.4 函数
3.日期函数 日期函数:用于对日期或日期时间型数据进行操作的函数。
示例中,假设 d={^2003-09-03 13:23:36}2.4 函数
4.类型转换函数2.4 函数
4.类型转换函数 类型转换函数:用于不同类型数据之间的转换函数
示例中,假设d={^2003-09-03 13:23:36}
c=”05/08/1984 9:45:50”2.4 函数
5.数据库函数2.4 函数
5.数据库函数 数据库函数:对数据库操作的函数。2.4 函数
6.测试函数2.4 函数
6.测试函数 测试函数:测试表达式类型及文件的函数2.5 命令格式及书写规则2.5 命令格式及书写规则 1. 命令动词: 所有命令都以命令动词开头,表示要执行的命令功能
2. 命令子句: 用来修饰或限制命令
⑴ 范围子句: 指明在哪些记录范围内执行命令,有四种:
RECORD 表示指定第N个记录
NEXT 表示从当前记录开始的N个记录
ALL 表示数据库的所有记录
REST 表示从当前记录开始到最后一个记录
⑵ FIELDS子句: 指明对数据表中的哪些字段执行命令
⑶ FOR/WHILE子句: 后面跟一个逻辑表达式,表示仅对符合条件(即表达式的结果为.T.)的记录执行命令操作
例如,显示学生表中所有女生的学号、姓名、出生日期等信息,可使用以下命令:
LIST ALL FIELDS 学号,姓名,出生日期 FOR 性别=”女”2.5 命令格式及书写规则2.5 命令格式及书写规则 3. 命令书写规则
⑴ 必须以命令动词开头,命令中可以含有一个或多个子句,子句的顺序任意
⑵ 命令动词和各子句之间用空格分开(空格数任意)
⑶ 命令动词可以缩写为前4个字符,且不区分大小写
⑷ 命令行的最大长度为254个字符,一行写不下时,要在行尾加续行符(西文分号“;”)分行,并在下行继续书写第3 章 VFP数据库及其操作第3 章 VFP数据库及其操作3.1 创建项目 3.5 数据表的维护
3.2 创建数据库 3.6 数据表排序与索引
3.3 创建数据表 3.7 建立数据字典
3.4 数据表的基本操作 3.8 多数据表操作3.1 创建项目3.1 创建项目 用Visual Foxpro 开发的一个应用系统包括很多程序、数据、文档以及Visual Foxpro 对象等。不同类型的文件有不同的用途,并采用不同的扩展名。为方便开发人员管理, Visual Foxpro 将程序、数据、文档以及Visual Foxpro 对象集合称为一个项目,存放在.PJX的项目文件中,由“项目管理器”进行管理和维护。FVP项目组织简图FVP项目组织简图null 项目是文件、数据、文档和VFP对象的集合。利用“项目管理器”可以很方便地组织和管理项目中的各类数据和对象。
用户在开发一个应用系统时,通常都是先从创建项目开始的。null 1. 建立工作目录: 组织和管理磁盘中的各类文件,用户先为自己建立工作目录。通过“工具”菜单下的“选项”命令,选择默认目录。
2.建立项目文件方法:
⑴ 菜单:选择“文件/新建”菜单命令,或按工具栏“新建”按钮,在“新建”对话框中选择“项目”项
⑵ 命令:CREATE PROJECT [<项目文件名>]
3.打开项目文件:
⑴ 菜单:选择“文件/打开”菜单命令,或按工具栏的“打开”按钮,在“打开”对话框中选择项目文件(*.PJX)
⑵ 命令:
MODIFY PROJECT [<项目文件名>]创建项目:null项目创建后,系统自动打开项目管理器窗口如下:3.2 创建数据库3.2 创建数据库 数据库是表的集合,即在一个数据库中可以包含若干个通过关键字段相互关联的表。一个数据库文件(.DBC)中存储了所包含的表与表之间的联系,以及依赖于表的视图、联接和存储过程等信息。
把表放入数据库中可以减少数据的冗余,保护数据的完整性。
数据库使得对数据的管理更加方便和有效。3.2.1 数据库的设计3.2.1 数据库的设计null学籍管理系统数据库:“学生”库包含的表及其字段
学生(学号,姓名,性别,出生日期,系别,贷款否,简历,照片)
课程(课程号,课程名,课时,学分)
成绩(学号,课程号,成绩)3.2.2 数据库的创建3.2.2 数据库的创建 1. 建立数据库
⑴ 项目管理器:选择“数据库”,选择“新建”按钮
⑵ 菜单:选择“文件/新建:数据库”菜单命令
⑶ 命令:CREATE DATABASE <数据库名>
2.在项目中添加数据库
在项目管理器中选定“数据库”项,按“添加”按钮,在“打开”对话框中选择需要添加的数据库文件。3.2.3 数据库的基本操作3.2.3 数据库的基本操作 1. 打开数据库
⑴ 项目管理器:选定要打开的数据库,按“打开”按钮
⑵ 菜单:选择“文件/打开”菜单命令
⑶ 命令 ① 打开数据库文件:OPEN DATABASE [<数据库文件名>]
② 打开数据库设计器:MODIFY DATABASE [<数据库文件名>]
2.关闭数据库
⑴ 项目管理器:选定要关闭的数据库,按“关闭”按钮
⑵ 命令:CLOSE DATABASES
3. 删除数据库
⑴ 项目管理器:选定数据库后,按“移去”按钮,将从项目中移去选定的库文件;按“删除”按钮,则将选定的库
文件从磁盘上删除
⑵ 命令:
DELETE DATABABE <数据库文件名>3.3 创建数据表3.3 创建数据表 1. 数据表和数据库
表(Table)是处理数据和建立关系型数据库及应用程序的基本元素。数据库(DATABASE)是表的集合。
2. 数据表的类型
⑴ 自由表:不属于任何数据库而独立存在的表。
⑵ 数据库表:属于某一数据库的表
3. 数据表的结构
数据表形式上是一组相关联的数据
按行和列排列的二维表格,用来描述一
类实体。字段记录null显示结构编辑结构复制结构数据表操作基本内容及基本命令null要创建表,首先需要决定新表的结构,即:
表中包含那些字段,每一字段是什么类型的数据。(字符型、数值型还有宽度要求)。
哪些字段可以接受空值。
是否使用约束,如果要用的话,在哪里用。
需要什么类型的索引,哪些字段应该作为主键和外键。
决定了表的结构以后,就可以创建表。
表结构主要包括:字段个数以及各个字段的名字、类型、宽度等属性。3.3.1 基本概念3.3.1 基本概念 定义字段:为每个字段指定名称、数据类型和宽度,它们决定了表中的数据是如何被标识和保存的。
⑴ 字段名:以字母或汉字开头,由字母、汉字、数字或下划线组成,不能包含空格。数据库表字段名最长为128个字符,自由表字段名最长为10个字符。
⑵ 字段类型:决定了存储在字段中的值的数据类型。
⑶ 字段宽度:指能够容纳存储数据的长度。
⑷ 小数位:若字段的类型是数值型(N)和浮点型(F)时,还需给出小数位数。小数位数不能大于9,双精度型
数据的小数位数不能大于18。
⑸ 使用空值:在建立数据表时,
可以指定字段是否接受空值(NULL)。3.3.1 基本概念3.3.1 基本概念建立“教学管理”数据库,其中有“学生”、“课程”和“成绩”三个表3.3.2 自由表的建立
1.定义表结构3.3.2 自由表的建立
1.定义表结构 表结构的定义在“表设计器”中完成。打开表设计器的方法有:
⑴ 菜单:选择“文件/新建”菜单命令
⑵ 命令:CREATE <表文件名>
⑶ 项目管理器:选择“自由表”,按“新建”按钮
定义表结构就是设置表的字段属性,包括字段名、数据类型、字段宽度和小数位数等。
◇ 定义字段
◇ 修改字段
◇ 插入字段
◇ 调整字段
◇ 删除字段3.3.2 自由表的建立
2.输入记录 3.3.2 自由表的建立
2.输入记录 输入记录数据可以选择“显示/浏览”或“编辑”菜单命令,在“浏览”或“编辑”窗口中进行
⑴ 一般数据的输入
字符型、数值型、逻辑型、日期型等字段类型数据可以直接在浏览窗口或编辑窗口中输入3.3.2 自由表的建立
2.输入记录 3.3.2 自由表的建立
2.输入记录 ⑵ 备注型字段数据的输入
双击名为“memo”的备注字段标志,进入
备注窗口,输入文本内容
⑶ 通用型字段数据的输入
双击名为“gen”的通用字段标志,进入通用型字段输入编辑窗口。选择“编辑/插入对象”菜单命令,在“插入对象”对话框中选择插入OLE对象。
要删除备注字段或通用字段的内容,可双击字段名,打开编辑窗口,选择“编辑/清除”菜单命令。
如果在数据表中定义了备注型或通用型字段,系统会自动生成与表文件名相同的备注文件(.FPT)。备注文件是表文件的辅助文件,它随着表文件的打开而打开,随着表文件的关闭而关闭。
无论一个表中定义了多少个备注型或通用型字段,系统只生成一个备注文件。3.3.3 数据库表的建立
1.在数据库中建立新表3.3.3 数据库表的建立
1.在数据库中建立新表 在项目管理器中,选择“数据库:表”项,按“新建”按钮。
使用项目管理器创建的表自动包含在项目文件中。
当数据库处于打开状态时,用建立自由表的方法创建的新表将包含在该数据库中。3.3.3 数据库表的建立
2.将自由表添加到数据库3.3.3 数据库表的建立
2.将自由表添加到数据库 ⑴ 项目管理器
选择“数据库:表”项,按“添加”按钮。
⑵ 命令:ADD TABLE <数据表文件名>
数据库中的表只能属于一个数据库文件,如果向当前数据库中添加的表已属于其它数据库,则需要先从其它数据库中移去该数据表,然后才能将它添加到当前数据库中。3.3.3 数据库表的建立
3.从数据库中移去数据表3.3.3 数据库表的建立
3.从数据库中移去数据表 ⑴ 项目管理器
选定要移去的表,按“移去”按钮,在提示对话框中按“移去”按钮;若 按“删除”按钮,则不仅从数据库中移去该表,同时也从磁盘上删除了该表。
⑵ 命令:REMOVE TABLE <数据表文件名> 3.4.1 数据表的浏览
1.打开数据表文件3.4.1 数据表的浏览
1.打开数据表文件 ◇ 打开数据表
⑴ 菜单:选择“文件/打开”菜单命令
⑵ 命令:USE <表文件名>
◇ 关闭数据表
⑴ 菜单:选择“窗口/数据工作期”菜单命令,在“数据工作期”对话框中选择表的别名后,按“关闭”按钮
⑵ 命令:USE
例如,USE 学生
USE 课程
USE3.4 数据表的基本操作3.4.1 数据表的浏览
2.浏览与显示表结构3.4.1 数据表的浏览
2.浏览与显示表结构 ⑴ 浏览表结构
① 项目管理器:选定要浏览的表,按“修改”按钮,打开表设计器
② 菜单:选择“显示/表设计器”菜单命令,打开表设计器
⑵ 显示表结构(主窗口)
命令:LIST|DISPLAY STRUCTURE3.4.1 数据表的浏览
3.浏览与显示记录3.4.1 数据表的浏览
3.浏览与显示记录 ⑴ 在浏览窗口中浏览记录
① 项目管理器:选定要浏览的表,按“浏览”按钮
对于备注型字段或通用型字段内容,可以在浏览窗口中双击相应的字段标志(“Memo”或“Gen”),打开编辑窗口浏览
② 菜单:选择“显示/浏览”,或“显示/编辑”菜单命令,打开浏览窗口
③ 命令:BROWSE3.4.1 数据表的浏览
3.浏览与显示记录3.4.1 数据表的浏览
3.浏览与显示记录 ⑵ 在浏览窗口中有选择地浏览记录
① 菜单:打开浏览窗口,选择“表/属性”菜单命令,在“工作区属性”对话框的“数据过滤器”框中输入筛选条件,可以只显示满足筛选条件的记录。删除筛选表达式,可恢复显示所有记录。
在“工作区属性”对话框中,选择“字段筛选指定的字段”选项,按“字段筛选”按钮,在“字段选择器”对话框中选择要显示内容的字段;选择“工作区中的所有字段”选项,可取消对字
段访问的限制,恢复显示所有字段。
② 命令
设置数据过滤器:
SET FILTER TO [<条件表达式>]
设置字段过滤器:
SET FIELDS TO ALL|<字段名表>3.4.1 数据表的浏览
3.浏览与显示记录3.4.1 数据表的浏览
3.浏览与显示记录 【例1】用命令方式浏览“学生”表中所有女生的记录
SET FILTER TO 性别=‘女’
BROWSE
【例2】取消【例1】中的记录筛选,浏览所有学生的记录
SET FILTER TO
BROWSE
【例3】用命令方式浏览“学生”表中的学号、姓名、系别和贷款否
SET FIELDS TO 学号,姓名,系别,贷款否
BROWSE
【例4】取消【例3】对字段的限制,浏览“学生”表中所有字段
SET FIELDS TO ALL
BROWSE
USE3.4.1 数据表的浏览
3.浏览与显示记录3.4.1 数据表的浏览
3.浏览与显示记录⑶主窗口显示记录
命令:LIST|DISPLAY [<范围>] [FIELDS <字段名表>][WHILE <条件>][FOR<条件>]
“FIELDS <字段名表>”可以用<表达式表>代替
【例】显示“学生”表中所有女生的学号、姓名和所在系的信息:
USE E:\VFP6\DATA\学生.DBF && 打开学生表
LIST FIELDS 学号,姓名,系别 FOR 性别=”女” 3.4.1 数据表的浏览
应用示例:3.4.1 数据表的浏览
应用示例:1. 显示所有男生的姓名与在2007年的年龄
2. 显示所有姓“张”同学的学号、姓名和系别
3. 显示所有姓名中含有“林”字同学的学号、姓名和系别
4. 显示所有在本月过生日同学的姓名和出生日期
5. 分页显示所有同学的信息
6. 显示当前记录信息
7. 显示学号的第4位为3,并且在10月份出生的学生的信息LIST 姓名,2007-YEAR(出生日期) FOR 性别=‘男’LIST 学号,姓名,系别 FOR 姓名=[张] $$ LEFT(姓名,2)=[张]LIST 学号,姓名,系别 FOR AT(“林”,姓名)#0 $$ “林”$姓名LIST FIELDS 姓名,出生日期 FOR MONTH(出生日期)=MONTH(DATE())DISPLAY ALLDISPALYLIST FIELDS 学号,姓名,系别 FOR MONTH(出生日期)=10 AND SUBS(学号,4,1)=“3” 3.4.2 记录的定位
1.记录指针3.4.2 记录的定位
1.记录指针 记录指针存放的是记录号。被记录指针指向的记录称为“当前记录”。
向表中录入数据时,系统会按照录入次序为记录加上记录号。
数据表刚打开时,记录指针总是指向首记录。
通过移动记录指针可以指定当前要操作的记录。3.4.2 记录的定位
2.移动记录指针3.4.2 记录的定位
2.移动记录指针 ⑴ 菜单:打开浏览窗口,选择“表/转到记录”菜单命令
⑵ 命令
① 绝对移动:[GO[TO]] <记录号>|TOP|BOTTOM
功能:将记录指针定位在指定记录号的记录上
TOP表示第一条记