nullVisual FoxPro 6.0
数据库与程序设计Visual FoxPro 6.0
数据库与程序设计目录目录课程简介
第1章 数据库系统
第2章 VFP语言基础
第3章 VFP数据库及其操作
第4章 查询和视图
第5章 结构化查询语言SQL
第6章 结构化程序设计
第7章 面向对象程序设计
第8章 表单设计与应用
第9章 报表设计与应用
第10章 菜单设计与应用
第11章 应用系统的开发课程简介课程简介计算机应用基础Ⅱ(VF)课程目标课程目标◆ 学习程序设计技术
◆ 掌握科学研究工具
◆ 培养逻辑思维能力
◆ 提高现代文化素质
◆ 培养良好工作风格
◆ 提高创新创造精神课程性质课程性质◆ 计算机应用基础Ⅰ____核心公共课
◆ 计算机应用基础Ⅱ____必修公共课
◇ 文科____Visual FoxPro
◇ 理科____Visual Basic课程Ⅱ
教材
民兵爆破地雷教材pdf初中剪纸校本课程教材衍纸校本课程教材排球校本教材中国舞蹈家协会第四版四级教材
课程Ⅱ教材◆ 《Visual FoxPro 6.0数据库与程序设计》
◆ 卢湘鸿 主编
◆ 电子工业出版社第1章 数据库系统
第2章 VFP语言基础
第3章 VFP数据库及其操作
第4章 查询和视图
第5章 结构化查询语言SQL
第6章 结构化程序设计
第7章 面向对象程序设计
第8章 表单设计与应用
第9章 报表设计与应用
第10章 菜单设计与应用
第11章 应用程序的开发课程Ⅱ内容课程Ⅱ内容课程Ⅱ进度课程Ⅱ进度教学方法教学方法◆ 程序设计为主
◆ 实际应用为重
◆ 典型案例引路
◆ 基本概念梳理学习方法学习方法◆ 抓住重点,突出应用
◆ 实验自学,相辅相成
◆ 认真练习,注意观察
◆ 举一反三,触类旁通
◆ 掌握规律,融会贯通
◆ 归纳整理,善于总结测验方法测验方法◆ 理论、操作综合测验
◆ 实验、实验报告、考勤均计成绩
◇ 平时上机 20%
◇ 上机考试 30%
◇ 期末理论考试 50%第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) 是为数据库的建立、使用和维护而配置的软件,是数据库系统的核心组成部分
⑶ 数据库系统(DBS) 指引进数据库技术后的计算机系统
⑷ 数据库应用系统 指系统开发人员利用数据库系统资源开发出来的,面向某一类信息处理问题而建立的软件系统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.主要特点⑴ 关系中每个属性必须是不可分割的数据单元
⑵ 关系中每一列元素必须是类型相同的数据
⑶ 同一个关系中不能有相同的字段和记录
⑷ 关系的行、列次序可以任意交换,不影响其信息内容1.3.1 VFP的工作方式____1.人机交互方式1.3.1 VFP的工作方式____1.人机交互方式 交互方式下,输入或选择一条命令后可立即执行,并显示结果,操作便捷、直观,但不适于解决复杂的信息管理问题菜单命令工具按钮命令窗口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.项目管理器的操作 ⑴ 移去或删除文件
按“移去”按钮,将选定的对象从项目中移去
按“删除”按钮,将选定的对象从硬盘上删除,并且不可恢复
⑵ 创建和修改文件
按“新建”按钮,将创建制定类型的文件
按“修改”按钮,将对选定的文件进行修改
⑶ 为文件添加说明
选择“项目/编辑说明”菜单命
令,或文件快捷菜单的“编辑说明”
命令1.4 VFP系统的配置1.4 VFP系统的配置 VFP安装和启动之后,系统自动用一些默认值来设置环境。也可以重新设置参数以满足不同工作方式或工作环境的需要
1. 使用“选项”对话框配置系统
选择“工具/选项”菜单命令,打开“选项”对话框,其中有12个选项卡,用于不同类别环境的设置
2.保存设置
⑴ 将设置保存为仅在当前工作
期有效:“确定”
⑵ 将设置保存为永久性设置:
“设置为默认值”
也可以在命令窗口或程序中使
用SET命令配置环境,设置结果仅在
当前工作期有效1.5 文件类型1.5 文件类型第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.2 变量2.2.2 变量 变量是指在数据处理过程中其值可以改变的量
变量用标识符标识,标识符是以字母(汉字)或下划线开头,由字母、汉字、数字和下划线组成的字符串,长度不能超过128个字符
VFP中的变量分为字段变量和内存变量两种
1. 字段变量
存在于数据表中。当定义好一个数据表的结构,该表中的各个字段名就形成了各个字段变量
字段变量必须先定义然后才能使用
2. 内存变量
是一种临时信息存储单元,独立于数据表,可以根据需要随时建立。其类型取决于变量值的类型,可以把不同类型的数据赋给同一个变量
当内存变量名与数据表中的字段变量名相同时,要访问该内存变量,必须在变量名前加上前缀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,并赋逻辑值 2.2.2 变量2.2.2 变量 ⑵ 输出内存变量的值
格式1:? <表达式表>
格式2:?? <表达式表>
功能:计算<表达式表>中各表达式的值并在屏幕上显示出来
⑶ 显示或打印内存变量
格式:LIST|DISPLAY MEMORY [LIKE <通配符>]
[TO PRINTE|TO FILE <文件名>]
功能:显示或打印内存变量的当前信息
例如,在命令窗口中输入命令: LIST MEMORY LIKE X*
将在主窗口中显示所有以X打头的内存变量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,_ALIGNMENT2.2.2 变量2.2.2 变量 4.数组
内存中连续的一片存储区域,由一组称为数组元素的变量组成。通过赋值语句可以为各个元素分别赋值,且所赋值的数据类型可以不同
定义:DIMENSION <数组名1>(<索引值1>[,<索引值2>]) [,<数组名2>(<索引值3>[,<索引值4>])]… 数组必须先定义后使用,且使用时下标不能超界
每个数组元素通过数组名和相应的索引编号被引用
例如:定义一个一维数组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.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.数值表达式 数值表达式:用算术运算符将数值型数据连接起来的式子,其结果仍是数值型数据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} && 结果为天数: 842.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.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
表示指定第N个记录
NEXT 表示从当前记录开始的N个记录
ALL 表示数据库的所有记录
REST 表示从当前记录开始到最后一个记录
⑵ FIELDS子句: 指明对数据表中的哪些字段执行命令
⑶ FOR/WHILE子句: 后面跟一个逻辑表达式,表示仅对符合条件(即表达式的结果为.T.)的记录执行命令操作
例如,显示学生表中所有女生的学号、姓名、出生日期等信息,可使用以下命令:
LIST ALL FIELDS 学号,姓名,出生日期 FOR 性别=”女”2.5 命令2.5 命令 3. 命令
书
关于书的成语关于读书的排比句社区图书漂流公约怎么写关于读书的小报汉书pdf
写规则
⑴ 必须以命令动词开头,命令中可以含有一个或多个子句,子句的顺序任意
⑵ 命令动词和各子句之间用空格分开(空格数任意)
⑶ 命令动词可以缩写为前4个字符,且不区分大小写
⑷ 命令行的最大长度为254个字符,一行写不下时,要在行尾加续行符(西文分号“;”)分行,并在下行继续书写第3 章 VFP数据库及其操作第3 章 VFP数据库及其操作3.1 创建项目 3.5 数据表的维护
3.2 创建数据库 3.6 数据表排序与索引
3.3 创建数据表 3.7 建立数据字典
3.4 数据表的基本操作 3.8 多数据表操作FVP项目组织简图FVP项目组织简图3.1 创建项目3.1 创建项目 项目是文件、数据、文档和VFP对象的集合。利用“项目管理器”可以很方便地组织和管理项目中的各类数据和对象
用户在开发一个应用系统时,通常都是先从创建项目开始的3.1 创建项目3.1 创建项目 1. 建立工作目录: 组织和管理磁盘中的各类文件
2.建立项目文件
⑴ 菜单:选择“文件/新建”菜单命令,或按工具栏“新建”按钮,在“新建”对话框中选择“项目”项
⑵ 命令:CREATE PROJECT [<项目文件名>]
3.打开项目文件
⑴ 菜单:选择“文件/打开”菜单命令,或按工具栏的“打开”按钮,在“打开”对话框中选择项目文件(*.PJX)
⑵ 命令:
MODIFY PROJECT [<项目文件名>]3.2 创建数据库3.2 创建数据库 数据库是表的集合,即在一个数据库中可以包含若干个通过关键字段相互关联的表。一个数据库文件(.DBC)中存储了所包含的表与表之间的联系,以及依赖于表的视图、联接和存储过程等信息
把表放入数据库中可以减少数据的冗余,保护数据的完整性
数据库使得对数据的管理更加方便和有效3.2.1 数据库的设计思想3.2.1 数据库的设计思想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. 数据表的结构
数据表形式上是一组相关联的数据
按行和列排列的二维表格,用来描述一
个实体字段记录3.3 创建数据表3.3 创建数据表显示结构编辑结构复制结构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.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.浏览与显示记录 【例3.10】用命令方式浏览“学生”表中所有女生的记录
SET FILTER TO 性别=‘女’
BROWSE
【例3.11】取消【例3.10】中的记录筛选,浏览所有学生的记录
SET FILTER TO
BROWSE
【例3.12】用命令方式浏览“学生”表中的学号、姓名、系别和贷款否
SET FIELDS TO 学号,姓名,系别,贷款否
BROWSE
【例3.13】取消【例3.12】对字段的限制,浏览“学生”表中所有字段
SET FIELDS TO ALL
BROWSE
USE3.4.1 数据表的浏览____3.浏览与显示记录3.4.1 数据表的浏览____3.浏览与显示记录⑶ 显示记录(主窗口)
命令:LIST|DISPLAY [<范围>] [FIELDS <字段名表>][WHILE <条件>][FOR<条件>]
“FIELDS <字段名表>”可以用<表达式表>代替
【例3.14】显示“学生”表中所有女生的学号、姓名和所在系的信息:
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 LIST 学号,姓名,系别 FOR AT(“林”,姓名)#0 $$ “林”$姓名LIST FIELDS 姓名,出生日期 FOR MONTH(出生日期)=MONTH(DATE())DISPLAY ALLDISPALY3.4.2 记录的定位____1.记录指针3.4.2 记录的定位____1.记录指针 记录指针存放的是记录号。被记录指针指向的记录称为“当前记录”
向表中录入数据时,系统会按照录入次序为记录加上记录号
数据表刚打开时,记录指针总是指向首记录
通过移动记录指针可以指定当前要操作的记录3.4.2 记录的定位____2.移动记录指针3.4.2 记录的定位____2.移动记录指针 ⑴ 菜单:打开浏览窗口,选择“表/转到记录”菜单命令
⑵ 命令
① 绝对移动:[GO[TO]] <记录号>|TOP|BOTTOM
功能:将记录指针定位在指定记录号的记录上
TOP表示第一条记录,BOTTOM表示最后一条记录
② 相对移动:SKIP [+|-][<算术表达式>]
功能:将记录指针从当前位置向前或向后
移动若干条记录位置
③ 条件定位:
LOCATE [<范围>] FOR <条件>
功能:查找满足条件的第一条记录
“FOR<条件>”是必须的;使用CONTINUE
命令可继续查找下一条满足条件的记录3.4.2 记录的定位3.4.2 记录的定位 【例3.15】用命令方式定位并显示“学生”表的指定记录
USE E:\VFP6\DATA\学生
GO TOP
DISPLAY
GO 6
DISPLAY
GO BOTTOM
DISPLAY
【例3.16】使用SKIP命令移动“学生”表的记录指针
GO 2
SKIP 5
DISPLAY
SKIP –3
DISPLAY3.4.2 记录的定位3.4.2 记录的定位 【练习】用命令方式显示“学生”表倒数第5条记录信息
GOTO BOTTOM
SKIP -4
DISPLAY
【例3.17】将记录指针定位在学生表中第一条性别为“男”的记录上
LOCATE FOR 性别=”男”
? FOUND()
DISPLAY
CONTINUE
DISPLAY3.5.1 修改表结构3.5.1 修改表结构 在表设计器中可以修改表结构
1. 项目管理器:选定要修改的表,按“修改”按钮
2. 菜单:选择“文件/打开”菜单命令,或“显示/表设计器”菜单命令
3. 命令:MODIFY STRUCTURE
修改字段属性后,VFP将按新的属性改写整个.DBF文件,可能造成数据丢失3.5.2 添加记录____1.在浏览窗口中追加记录3.5.2 添加记录____1.在浏览窗口中追加记录 ⑴ 菜单:打开浏览窗口,选择“显示/追加方式”菜单命令,可以在原有记录的后面追加多条新记录
选择“表/追加新记录”菜单命令,每次只能添加一条新记录
⑵ 命令:APPEND [BLANK]
BLANK表示空记录3.5.2 添加记录____2.插入记录3.5.2 添加记录____2.插入记录 命令:INSERT [BLANK][BEFORE]
功能:在数据表的当前记录之前或之后插入一条记录
BEFORE表示“之前”3.5.2 添加记录____3.从其它文件中追加记录3.5.2 添加记录____3.从其它文件中追加记录 ⑴ 菜单:打开浏览窗口,选择“表/追加记录”菜单命令
⑵ 命令:APPEND FROM <源表文件名>
[FIELDS <字段名表>][FOR <条件>]
功能:将满足条件的记录按指定的字段从源表文件中追加到当前数据表的末尾 例如,将“课程”表中的相应数据追加到“课程安排”表中:
USE E:\VFP6\DATA\课程安排
APPEND FROM E:\VFP6\DATA\课程.DBF FIELDS 课程号,课程 3.5.3 编辑记录3.5.3 编辑记录 命令:EDIT|CHANGE [<范围>][FIELDS <字段名表>][FOR <条件>]
功能:修改当前表给定范围内,满足条件记录的制定字段值3.5.3 编辑记录____1.在浏览窗口中编辑记录3.5.3 编辑记录____1.在浏览窗口中编辑记录 ⑴ 项目管理器:选定表,按“浏览”按钮,打开浏览窗口,直接修改字段值。关闭浏览窗口,所做的修改将自动保存在表文件中
备注型字段或通用型字段内容,可以双击相应的字段标志(“Memo”或“Gen”),打开编辑窗口进行编辑或修改
⑵ 命令:BROWSE [FIELDS <字段名表>][FREEZE <字段名>]
[NOAPPEND][NOMODIFY][FOR <条件>]
FREEZE表示冻结在指定字段
NOAPPEND表示禁止追加
NOMODIFY表示禁止修改3.5.3 编辑记录____2.批量修改记录3.5.3 编辑记录____2.批量修改记录 对一批记录中的若干字段值进行有规律
的修改
⑴ 菜单:打开数据表,选择“表/替换字
段”菜单命令,在“替换字段”对话框中设置
⑵ 命令:
REPLACE [<字段1> WITH <表达式1> [ADDITIVE]
[,<字段2> WITH <表达式2> [ADDITIVE]…
[<范围>][FOR <条件>][WHILE <条件>]
功能:对表中指定范围内的满足条件的记录进行批量修改
【例3.21】给“学生”表管理系的每个学生减去15.5元助学金
USE E:\VFP6\DATA\学生
REPLACE ALL 助学金 WITH 助学金-15.5 FOR 系别=”管理”3.5.4 删除记录3.5.4 删除记录1. 逻辑删除: 给记录加删除标记
⑴ 鼠标操作:在浏览窗口中,单击左侧白色
方框使之变黑
⑵ 菜单:选择“表/删除记录”菜单命令
⑶ 命令:DELETE [<范围>][FOR <条件>]
2. 恢复逻辑删除: 取消删除标记
⑴ 鼠标操作:单击逻辑删除标记,取消黑色方框
⑵ 菜单:选择“表/恢复记录”菜单命令
⑶ 命令:RECALL [<范围>][FOR <条件>]
3. 物理删除:从磁盘上删除记录,不可恢复
⑴ 菜单:选择“表/彻底删除”菜单命令
⑵ 命令:PACK(删除带有删除标记的记录)
ZAP (一步、全部清除表中记录,仅保留表结构) 3.5 记录删除____应用示例3.5 记录删除____应用示例 【例3.23】逻辑删除“学生”表1983年以前出生的学生,再将其恢复
DELETE FOR YEAR(出生日期)<1983
LIST 姓名,性别,出生日期,系别
RECALL ALL
【例3.22、24】逻辑删除“学生”表最后一条记录,再将其物理删除
GO BOTTOM
DELETE
PACK
LIST 姓名,性别,系别
【例3.25】删除“课程安排”表中的所有记录
? RECCOUNT()
ZAP
? RECCOUNT()3.5 记录编辑____应用练习3.5 记录编辑____应用练习 1. 在第三个记录之后插入一条新记录
2. 对从当前记录开始一直到最后一条记录的籍贯和高等数学成绩进行修改
3. 将所有学生的奖学金上调5%,再加10元
4. 逻辑删除第一个记录
5. 恢复第7个记录之前的3条记录中被逻辑删除了的记录
6. 物理删除所有被逻辑删除的记录
7. 逻辑删除最后5条记录中姓“王”的同学GO 3
INSERTEDIT REST FTELDS 籍贯,高等数学REPLACE 奖学金 WITH 奖学金*1.05+10DELETE RECORD 1GO 7
SKIP -3
RECALL NEXT 3PACKGO BOTTOM
SKIP -4
DELETE REST FOR 姓名=‘王’3.5.5 复制数据表____1.数据表文件的复制3.5.5 复制数据表____1.数据表文件的复制1. 数据表文件的复制
⑴ 菜单:打开表文件,选择“文件/导出”菜单命令,显示“导出”对话框
⑵ 命令:COPY TO <新表文件> [<范围>][FIELDS <字段名表>] [FOR <条件>][WHILE <条件>]2. 数据表结构的复制
命令:COPY STRUCTURE TO <新表文件>
[FIELDS <字段名表>]3.5.5 复制数据表____3.数据表文件的更名3.5.5 复制数据表____3.数据表文件的更名 在项目管理器中选择要重命名表的“快捷菜单/重命名”命令,在“重命名文件”对话框中输入新的文件名3.5.6 数据表与数组之间的数据交换3.5.6 数据表与数组之间的数据交换1.将表的当前记录复制到数组
命令:SCATTER [FIELDS <字段名表>][MEMO] TO <数组名>|MEMVAR
功能:将数据表的当前记录按字段顺序复制到数组或内存变量
MEMO表示包括备注型字段的内容;MEMVAR传递到一组内存变量中
例如,USE E:\VFP6\DATA\学生
* 将第1条记录的姓名、性别和系别3个字段复制到数组AA中