江苏省非计算机专业计算机等级考试二级考试科目:
河海大学商学院(常州)
《高级程序语言设计》
Visual Foxpro 6.0
课程讲义
主讲:赵中强
河海大学商学院(常州)信息管理系
第一章数据库系统基础知识
1.1数据库系统概述
1. 数据处理
数据:
是对事实、概念或指令的一种特殊表达形式,可以用人工的方式或自动化的装置进行通信、翻译转换 或者进行加工处理。它包括两类:一类是能参与数字运算的数值型数据;一类是不能参与数字运算的 非数值型数据,如文字、图画、声音、活动图象等。
数据处理:
是对各种类型的数据进行收集、存储、分类、计算、加工、检索与传输的过程。
包括:收集原始数据、编码转换、数据输入、数据处理、数据输出。
2. 数据库系统
⑴数据库(DataBase)
定义:是以一定的组织形式存放在计算机存储介质上的相互关联的数据的集合。
特点:具有最小的冗余度、具有数据独立性、实现数据共享、安全可靠、保密性能好
(2) 数据库管理系统(DataBase Management System)
定义:是操纵和管理数据库的系统软件。Visual FoxPro属于一种关系型数据库管理系统。
数据语言:
数据定义语言(DDL):用来建立所需的数据库。
数据操作语言(DML):用来对数据库进行查询和维护操作。
关系型数据库使用的标准语言是结构化查询语言(Structured Query Language, SQL)=
(3) 数据库系统(DataBase System)
定义:是以数据库应用为基础的计算机系统。
组成:
数据库
硬件(计算机硬件设备)
软件(数据库管理系统、操作系统)
用户(应用程序设计员、终端用户、数据库管理员)
分类:层次型数据库、网状型数据库、关系型数据库
分代:第一代非关系型数据库系统,60年代末问世,包括层次型和网状型。
第二代 关系型数据库系统(RDBS) , 70年代中期问世。
第三代对象-关系数据库系统(ORDBS、OOBDS) , 80年代中期至今。
上述三个概念之间的联系:在数据库系统中通过数据库管理系统来建立和使用数据库。
3. 关系模型
三个领域: 现实世界一事物(对象、性质)
观念世界—实体(对象、属性)
数据世界一数据(记录、字段)
实体模型:即反映事物联系的实体。
数据模型:即描述实体模型的数据。
数据模型的分类:层次模型(采用树型结构)
网络模型(采用无向图型结构)
关系模型(采用二维表结构)
关系模型的性质: 二维表的记录数随数据的增加而改变,但其字段数是相对固定的;二维表中的每一列均有唯一的字段 名;二维表中不允许出现完全相同的两行二维表中行的顺序、列的顺序均可以任意交换。
二维表的主关键字:超关键字:能唯一确定记录的一列或几列的组合
候选关键字:最简练的超关键字
主关键字:候选关键字中的一个
外部关键字:当A表的主关键字被包含到B表中时,则称A表的主关键字为B表的外部关键字。
4. 微机关系型数据库系统的发展
关系型数据库:即根据表、记录和字段之间的关系进行组织和访问的一种数据库。
1. 2 Visual FoxPro 6.0 概述
1. VFP6.0的特点
完善了关系型数据库的概念,采用了 Rushmore技术,引入了 SQL命令;支持多种数据交换格式;采 用了可视化的面向对象的程序设计方式;提供了功能完善的集成环境和丰富的开发工具。
2. VFP6.0的用户界面[图例]
界面基本组成:标题栏、主菜单栏、工具栏、主窗口、命令窗口、状态栏
3. VFP 6.0的工作方式
(1) 菜单操作方式
根据所需的操作从菜单中选择相应的命令(与WORD类似)"每执行一次菜单命令,命令窗口中一般 都会显示出与菜单对应的命令内容。
利用工具菜单中的向导可以很方便地完成常规任务。
(2) 命令交互方式
根据所要进行的各项操作,采用人机对话方式在命令窗口中按格式要求逐条输入所需命令,按回车后, 机器逐条执行。
(3)程序执行方式
先在程序编辑窗口中编完程序,再从程序菜单中选择执行,或从命令窗口中输入DO命令,让机器执 行。
4. VFP 6.0常用文件类型
VFP 6.0常用的文件扩展名及其关联的文件类型
扩展名
文件类型
扩展名
文件类型
・app
生成的应用程序
.frx
报表
.exe
可执行程序
.frt
报表备注
. Pjx
项目
.Ibx
标签
-pjt
项目备注
.Ibt
标签备注
.dbc
数据库
. prg
程序
.det
数据库备注
.fxp
编译后的程序
.dex
数据库索引
.err
编译错误
.dbf
表
.mnx
菜单
.fpt
表备注
.mnt
菜单备注
.cdx
复合索引
.mpr
生成的菜单程序
.idx
单索引
.mpx
编译后的菜单程序
• qpr
生成的查询程序
・vex
可视类库
• qpx
编译后的查询程序
.vet
可视类库备注
.sex
表单
.txt
文本
.set
表单备注
.bak
备份文件
5. 创建文件
新建各种类型的文件时,可以利用系统提供的相应工具,以提高工作效率。新建文件时可用的设计器 和向导。
1.3项目管理器
1. 项目管理器简介
项目:
是一种文件,用于跟踪创建应用系统所需要的所有程序、表单、菜单、库、报表、标签、查询和一些 其他类型的文件。
项目管理器:[图例]
是开发VFP应用系统的一个工具,它生成一个项目文件,项目文件的扩展名为.PJX,项目备注的扩 展名为:.PJT。
项目管理器窗口的组成:
山6大类数据项(全部、数据、文档、类、代码、其他)和10个命令按钮(新建、添加、修改、浏览、 关闭、打开、预览、运行、移去、连编)组成。
注:粗斜体表示的命令按纽根据用户选择的不同对象相应地出现。
项目菜单的组成:13个了菜单(其中一部分与项目管理器中的命令按钮功能相同)。
项目管理器的功能:组织和管理所有与应用系统有关的各种类型的文件。
2. 创建项目文件
用菜单方式:
打开文件菜单一新建-项目一新文件-给出合适的项目文件名及保存位置-进入项目管理 器一开发应用系统一完成后关闭窗口退出。
用命令方式:
语法:CREATE PROJECT v须&戈律名〉
功能:打开项目管理器窗口进行应用系统的开发。
3. 修改项目文件
用菜单方式:
打开文件菜单一打开一找到所需的项目文件并确定之一进入项目管理器一修改应用系统一 完成后关闭窗口退出。
用命令方式:
语法:MODIFY PROJECT <成&戈律名〉
功能:打开项目管理器窗口进行应用系统的修改。
4. 项目管理器的使用
可以利用项目管理器来创建、打开、浏览、修改所有VFP文件并运行其中的表单、报表、标签、菜单、 程序等。特别是可以利用它来连编项目(追踪这些文件的变化情况,包括它们之间的相关性、引用和 连接等,确保引用的完整,并加入自上次连编之后更新了的一些组件)、应用程序(扩展名为APP, 在NFP环境下执行)和可执行文件(扩展名为.EXE,能脱离VFP环境执行)。
1.4 VFP 6.0的一些规则
1. VFP6.0的命名规则:
•只能使用字母、下划线和数字。
•使用字母或下划线作为名称的开头。
•名称可以是1至128个字符,但自山表的字段名和索引标识最多只能有10个字符。
•避免使用Visual FoxPro的保留字。
•文件的命名遵循操作系统的约定。
2. 命令和子句的书写规则
(1) 以命令动词开始;
(2) 各部分之间要用空格隔开;
(3) 命令、子句、函数名都可简写为前4个字符,大、小写等效;
(4) 一行只能写一条命令,总长度不超过8192个字符,超过屏幕宽度时用续行符“;”;
(5) 变量名、字段名和文件名应避免与命令动词、关键字或函数名同名,以免运行时发生混乱。
(6) 命令格式中的符号约定:
命令中的口、| <>符号都不是命令本身的语法成分,使用时不能照原样输入,
其中:[]表示可选项,根据具体情况决定是否选用
|表示两边的部分只能选用其中的一个
.表示可以有任意个类似参数,各参数间用逗号隔开
<>表示其中内容要以实际名称或参数代入
3. 命令工作方式中的常见错误
(1) 命令动词写错
(2) 格式不符合要求
-标点符号不对(一定要用英文标点符号)
•缺少必需的空格或添加了不该有的空格
•数据类型不一致,要注意字符型、数值型、日期型、逻辑型数据的书写格式
(3) 打不开所需文件:没有正确输入盘符和路径或文件名输错
第二章VFP语言基础
2. 1常量、变量
2.数据类型
VFP包含下列数据类型:
通用的数据类 型
字符型
Character
货币型
Currency
日期型
Date
日期时间型 DateTime
逻辑型
Logical
数值型
Numeric
仅用于字段的
数据类型
双精度型
Double
浮点型
Float
整型
Integer
通用型
General
备注型
Memo
3.数据容器
VFP中用来存储数据的容器有:常量、变量、数组、记录和对象。
(1) 常量(constants):
一个在操作过程中保持不变的数值或字符串。
常用的常量类型
常量类型
数值型常量
字符型常量
逻辑型常量
日期型常量
表示方式
-25.36
"abc","123","中国"
.T. .F.
{¥005/07/10}
(2) 变量(variables):
是内存中的一个存储单元的位置,其中的内容可以变化,但标识该存储位置的名称(即变量名)不变。
变量的命名习惯:类垄变量代号
如:cStud、nCj、dCsrq
分别代表一个字符型、数值型、日期型的变量名
变量的赋值方式:1)用STORE命令如:STORE"王兰"TO cStud
2)用赋值操作符=如:cStud = ”王兰”
变量的作用域:即变量起使用的有效范围。
变量作用域
定义作用
域的关键 字
特点
局部变量
local variable (本地变量)
LOCAL
只能在一个函数或过程中被访问,其他过程或函数不 能访问此变量的数据。当其所属程序停止运行时,局 部变量将被释放。
私有变量
private variable
PRIVATE
私有变量在VFP中是默认的,不需要特殊的关键字 定义。但是,如果在更高一级例程(routine)中已 经有同名变量,可以用PRIVATE关键字予以声明, 以限定其范围。当定义此变量的例程结束时,此变量 也被相应释放。可使用私有变量在被调用的函数中共 享数据。
公共变量
public variable
PUBLIC
可用于所有过程和函数,而不限于定义该变量的过程 和函数。可使用全局变量在多个过程或函数之间共享 数据,在命令窗口中创建的任何变量自动具有全局属 性。
变量的访问:
当变量和字段同名时,字段有优先被访问权。要在变量名前加m.或m->以示区别,如m.cStud
(3) 数组(array):
是存储在一个变量中由单个变量名引用的有序数据集合。在VFP中,一个数组中的数据不必是同一 种数据类型。常用的有一维数组,二维数组。
数组元素的标识:通过一个数值下标来引用,如AA[2], AA[2,3]
数组类型的声明:
私有数组——用DECLARE或DIMENSION定义
全局数组 ——用PUBLIC命定义
局部数组 ——用LOCAL定义
数组元素的赋值:
用赋值语句:如AA=45
用SCATTER从当前记录中取特定字段的值赋给数组: