江苏省vfp教程第3章

合集下载

vfp第三章

vfp第三章
说明:若省略数据库文件名或选择了?,则会弹
第三章 Visual FoxPro 数据库及其操作
注:(1)建立数据库时,系统会自动为该 数据库建立数据库备注文件(.dct)和数据 库索引文件(.dcx),这两个文件的主文件 名与数据库名相同,用于系统管理数据库, 用户一般不能使用。
(2)刚建立的数据库处于打开状态。 (3)菜单方式建立数据库后会自动打 开数据库设计器,而命令方式则不打 开。
项目管理器对数据表的基本操作:
例: 1、打开项目文件“AADD.PJX” 2、在数据库“BB.DBC”中新建数据表 “工资.DBF” 3、将职工数据表添加到BB数据库中 4、为“职工”数据表增加一个照片字段 5、移去数据表“工资”
3.3
表的基本操作
主要内容: 1.浏览数据表内容 2.记录指针的移动 3.向数据表中添加记录 4.删除数据表中的记录 5.修改数据表中的数据
第三章 Visual FoxPro 数据库及其操作
三、修改数据表结构命令: (1)在数据库设计器中,右击要修改的数 据表“修改”命令 (2)修改数据表结构命令: MODIFY STRUCTURE 功能:修改当前数据表的结构。 注:应先打开数据表,才可修改结构。
第三章 Visual FoxPro 数据库及其操作
表首
表尾
说明: (4)FIELDS <字段名表> :只显示字 段名表中指定的字段内容,字段名之间 用“,”分隔;省略该子句时,显示所 有字段。




USE 职工 LIST FIELDS 姓名,性别 LIST FIELDS 姓名,职称,政治面貌 OFF
说明: (5)FOR <条件表达式> :显示满足指定条件的 记录。 例:(1)显示职工表中的讲师信息 USE 职工 LIST FOR 职称=“讲师” (2)显示基本工资高于600元的职工姓名和工资 LIST FIELDS 姓名, 工资 FOR 工资>600 (3)显示姓王的男职工信息 LIST FOR 姓名=“王” AND 性别=“男”

数据库管理系统VFP-第三章

数据库管理系统VFP-第三章
第三章 表单设计与应用
1
本章要点
3.1 面向对象的程序设计
3.2 创建表单
表单的属性、 3.3 表单的属性、事件和方法
3.4 表单集与多重表单
2
3.1 面向对象的程序设计
对象(Object) 客观世界里的任何实体都可以被看作是对象。对象 可以是具体的物,也可以指某些概念。 从编程的角度来看,对象是一种将数据和操作过程 结合在一起的数据结构,或者是一种具有属性(数据) 和方法(过程和函数)的集合体。事实上程序中的对 象就是对客观世界中对象的一种抽象描述 (1)对象属性:属性用来表示对象的状态。 (2)对象方法:对象方法是描述对象行为的过程。
含义 列表框 微调 表格 图像 计时器 页框 ActiveX控件 ActiveX绑定型
5
类名 Line Shape Container Se含义 线条 形状 容器 分割符 超级链接 活动文档 (表格)列
类名 Control Page Form FormSet Header Custom ToolBar
4
类名 Label Text Box Edit Box Command Button Command Group Option Group Check Box Combo Box
含义 标签 文本框 编辑框 命令按钮 命令按钮组 选项按钮组 复选框 组合框
类名 List Box Spinner Grid Image Timer Page Frame ActiveX Control ActiveX Bou Control
31
3.向数据环境添加表或视图。在数据环境设计 器环境下,按下列方法向数据环境添加表或视 图: 在系统菜单中选择【数据环境】|【添加】命 令,或右键单击“数据环境设计器窗口”,然 后在弹出的快捷菜单中选择【添加】命令,打 开“添加表或视图”对话框,如图所示。如果 数据环境原来是空的,那么在打开数据环境设 计器时,该对话框就会自动出现。

VFP第三章

VFP第三章
子表中的每一个记录在对应的主表中必须只有一个 父记录 在主表中修改了主关键字的值,子表中的外部关键 字的值必须同时被修改 在主表中删除记录时,子表中与该记录相关的所有 记录也将被删除
3.5.3 参照完整性与表之间的联系
设立表之间的联系
判断表之间的关系 对相应表建立索引 从主表向子表建立联系
鼠标左键单击主索引,按住,拖动至子表相应索引 处,箭头变化,松开左键
3.4.4 删除索引
DELETE TAG TagName1
3.5 数据完整性
3.5.1 实体完整性与主关键字 3.5.2 域完整性与约束规则 3.5.3 参照完整性与表之间的联系
3.5.2 域完整性与约束规则(1)
字段的有效性规则
规则的建立方法 默认值
3.5.2 域完整性与约束规则(2)
记录的有效性规则
3.3.6 查询定位命令
Locate,continue
3.4 索引
3.4.1 基本概念 3.4.2 在表设计器中建立索引 3.4.3 用命令建立索引 3.4.4 使用索引 3.4.5 使用索引快速定位 3.4.6 删除索引
3.4.1 基本概念
理解:
是按照索引关键字顺序排列的逻辑顺序号与物 理顺序号的对照表。
普通索引
只用于决定记录的顺序,但在表的所有记录当中可以 有重复的值。
唯一索引
具有重复值的记录值存储第一个
3.4.2 在表设计器中建立索引
3.4.3 用命令建立索引
命令格式: INDEX ON eExpression TO IDXFileName | ; TAG TagName [OF CDXFileName] ; [FOR lExpression] [COMPACT]; [ASCENDING | DESCENDING]; [UNIQUE | CANDIDATE]; [ADDITIVE] ASCENDING:升序 DESCENDING:降序 UNIQUE:唯一索引 CANDIDATE:候选索引

第3章VFP的编程工具与编程步骤

第3章VFP的编程工具与编程步骤

代码窗口
表单控件工具 栏 表单生成器
第3章 VFP的编程工具与编程步骤
3.2.3 “表单控件”工具栏
单击“表单设计器”工具栏上的“表单控件工具栏”
按钮,屏幕出现“表单控件”工具栏,可以把它拖放到 适当的位置。
第3章 VFP的编程工具与编程步骤
3.2.4 “属性”窗口
设计时,一般在“属性窗口”中修改或设置属性。 通过单击“表单设计器”工具栏中的“属性窗口” 按钮 ,可打开“属性”窗口。
第3章 VFP的编程工具与编程步骤
1. “对象”下拉列表框 标识当前选定的对象。单击右端的向下箭头,可 看到包括当前表单(或表单集)及其所包含的全部对 象的列表。可以从列表中选择要更改其属性的表单或 对象。
第3章 VFP的编程工具与编程步骤
2. 选项卡 选项卡中,按分类方式显示所选对象的属性、事件 和方法。 (1) “全部”选项卡:显示全部属性、事件和方法。
第3章 VFP的编程工具与编程步骤
3.4.3 控件的复制与删除
对控件进行复制与删除的常用方法有下面3种:
• 将所要操作的控件变为“活动控件”,按〈Ctrl〉
+〈C〉键将该控件拷贝到剪贴板中,按〈Ctrl〉+〈V〉
键可以在表单中得到该控件的复制品。对于活动控件,
只须按〈Delete〉键即可删除该控件。 • 用常用工具栏上的“复制”和“粘贴”按钮,以及 “剪切”按钮。 • 直接用鼠标右击要操作的控件,打开快捷菜单,在 快捷菜单中选取需要的项。
第3章 VFP的编程工具与编程步骤
3.2 表单设计器
3.2.1 打开表单设计器
打开表单设计器的方法有4种。 • 单击常用工具栏上的“新建”按钮,弹出“新建” 对话框,选中“表单”单选钮,单击“新建文件”。 • 在命令窗口中使用CREATE FORM命令。 • 在“项目管理器”的“文档”选项卡中,选中“表 单”,再单击“新建”按钮。

vf第三章

vf第三章

17
3.2.3 循环结构
在实际问题中,有时需要重复执行相同的操 作,对一段程序进行循环操作。被重复执行的语 句叫循环体。 1. DO WHILE循环语句
【格式】DO WHILE <条件表达式> <语句序列> ENDDO
18
1、DO WHILE循环语句 【格式】DO WHILE <条件表 达式> <语句序列1> [LOOP] <语句序列2> [EXIT] <语句序列3> ENDDO
10
3.1.2程序中的专用命令----accept
1)格式:accept [字符表达式] to 内存变量 2)功能:当执行到该命令时,暂停往下执行,等待用 户从键盘输入字符串,当用户以回车键结束输入时,
用户输入的数据保存在指定的内存变量中。
3)说明:
“字符表达式”将作为提示信息显示在屏幕上; Accept语句只能接收字符串,输入时不需要加定界符; 如:accept “请输入字符” to a 当在键盘输入123时,a中的值是“123”
11
3.2 程序的基本结构
顺序、选择、循环时程序的三种基本结构。
3.2.1 顺序结构
顺序结构是最简单的程序结构,它按命令在程序中 出现的先后次序依次执行。 顺序结构是在程序执行时,根据程序中语句的书写 顺序依次执行的命令序列。Visual FoxPro系统中的大多 数命令都可以作为顺序结构中的语句。
3.2 程序的基本结构
3.多分支
多向分支语句,即根据多个条件表达式的值,选择 执行多个操作中的一个对应执行 。 (2)语句功能: 该语句根据给出的N个〈条件表达式〉的值,选择 N+1个〈命令行序列〉中的一个执行。当所有CASE中〈条 件表达式〉的值都是假时,如果有OTHERWISE项,则执行 〈命令行序列N+1〉,再执行ENDCASE后面的第一条命令; 否则,直接执行ENDCASE后面的第一条命令。

程序设计语言VF第3章

程序设计语言VF第3章

3.4 数据表的操作
3.4.2 工作区与数据表的基本操作
5.记录的浏览与显示 (1)BROWSE命令 (2)LIST命令 (3)DISPLAY命令
3.4 数据表的操作
3.4.3 记录的定位与检测
•1.指针的绝对移位 •2.指针位置的相对移位 •3.记录检测函数
3.4 数据表的操作
3.4.3 记录的定位与检测
3.5 数据表的维护
3.记录的物理删除 (1)将带有逻辑删除标记的记录物理删除 格式:PACK 功能:在当前表中物理删除带有逻辑删除标记的记录。 (2)记录的一次性删除 使用ZAP命令可以一次性的将当前数据表中的所有记录从表文件中删除, 仅保留表结构(第一行的字段名)。 格式:ZAP 功能:一次性物理删除表中所有记录,仅保留表结构。
&&显示从当前记录开始的6 数据表的操作
• VFP中常用的命令子句
3.WHILE子句 格式:WHILE <条件> 功能:也用于指明进行操作的条件。当遇到第一个不满足条件的记录时,
命令即停止。 例如:LIST NEXT 6 WHILE 成绩<85
3.4 数据表的操作
• VFP中常用的命令子句
1.数据表的统计 (2)求和命令 格式:SUM [<数值表达式列表>] [<记录范围>] [FOR<条件1>] [WHILE<条件 2>] [TO <内存变量列表> ] [TO ARRAY <数组名>] 功能:对当前数据表中满足条件的记录根据指定的数值型字段表达式按列求和。 (3)求平均值命令 格式:AVERAGE [<数值表达式列表>] [<记录范围>] [FOR<条件1>] [WHILE<条件2>] [TO <内存变量列表> ] [TO ARRAY <数组名>] 功能:对当前数据表中满足条件的记录按指定的数值型字段求平均值。

vfp第3章(理论)数据库·表

vfp第3章(理论)数据库·表

二、数据表
⑹显示表记录 LIST|DISPLAY [<范围>] [[FIELDS]<字段名表>][FOR <条件>][OFF] <范围>:ALL、NEXT <n>、RECORD <n>、REST OFF:不显示记录号。 注意:省略范围和条件,LIST默认ALL,DISPLAY默 认当前记录。

二、数据表
⑾复制表结构 COPY STRUCTURE TO <数据表文件名> [FIELDS <字段名表>] ⑿复制表记录 COPY TO <数据表文件名> [FIELDS <字段名表>] [<范围>] [FOR <条件>] 注意:省略范围和条件,默认ALL。

二、数据表
⑸记录指针定位
首标记 首记录
当前记录 尾记录 尾标记
一个表被打开时,记录指针自动指向首记录。 ①直接定位 GO|GOTO <记录号>|TOP|BOTTOM ②相对定位 SKIP [<数值表达式>] 注意:SKIP 等价于 SKIP 1

二、数据表
⒁将表的当前记录复制到数组 SCATTER [FIELDS<字段名表>] TO <数组名> ⒂将数组中的数据复制到表的当前记录 GATHER FROM < ⒃向数据库中添加自由表 ADD TABLE <表名> ⒄从数据库中移去或删除表 REMOVE TABLE <表名> [DELETE]

二、数据表
⒀删除表记录 ①逻辑删除(添加删除标记) DELETE [范围] [FOR <条件>] 注意:省略范围和条件,默认当前记录。 ②恢复逻辑删除(去掉删除标记) RECALL [<范围>][FOR <条件>] 注意:省略范围和条件,默认当前记录。 ③彻底删除添加删除标记的记录 PACK ④彻底删除所有记录 ZAP

VFP第三章表的创建和使用3.1表结构

VFP第三章表的创建和使用3.1表结构

VFP第三章表的创建和使⽤3.1表结构第三章表的创建和使⽤对于关系型数据库来说,数据均以⼆维表的形式被保存在表中。

在VFP中表分为两种类型:数据库表和⾃由表,数据库表是指从属于某个数据库的表(简称“库表”),⽽⾃由表是指不从属于任何数据库的表。

与⾃由表相⽐,数据库表具有⾃由表的所有特性外,还具有数据库管理的其他功能。

3.1 表结构表(Table)是指存储放在磁盘⽂件中的⼆维表,⼀张表保存为⼀个表⽂件(.DBF)。

表⽂件的⽂件名必须遵守Windows系统对⽂件名的约定,并且不可⽤A~J中的单个字母作⽂件名。

表中的列称为字段(Field)。

字段规定了数据的特征。

例如,学⽣表中学号、姓名、性别和系名就是字段。

每张表最多可以有255个字段。

表的⾏叫做记录(Record),每条记录表⽰⼀个实体。

记录是多个字段的集合。

同⼀张表的每⼀个记录都有相同的字段。

3.1.3 表结构的创建表创建后,系统以扩展名.dbf保存表⽂件。

如果表中有备注字段或通⽤字段,则⾃动地产⽣与表名相同但扩展名为.fpt的备注⽂件2. CREATE TABLE-SQLCREATE TABLE-SQL命令的⼀般格式是:CREATE TABLE 表⽂件名(字段名1 字段类型[(字段宽度[,⼩数位数])][NULL|NOT NULL][,字段名2 字段类型[(字段宽度[,⼩数位数])]]……)说明:本书中命令的表⽰约定如下:垂直分隔符“|”分隔的项,表⽰多项中只能选择⼀个。

斜体字是占位符,在实际使⽤中要⽤具体的信息代替。

⽅括号[ ]所括的表⽰是可选项,[ ]本⾝不是命令的⼀部分。

省略号“……”表⽰参数可以有任意多项。

CREATE TABLE-SQL其中字段类型必须要⽤字母表⽰。

例如,学⽣表结构的创建可以使⽤以下命令:CREATE TABLE XS2 (xh C(6) not null,xm C(8),xb C(2),zydh C(6),ximing C(18))则XS2表的结构与XS表⼀模⼀样。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。


字段的数据类型
◦ 说明字段是什么类型的数据; 不同数据类型的表示和运算的方法不一样。
数据类型
字母表示


示例
字符型 (Character)
货币型 (Currency) 数值型 (Numeric) 浮点型 (Float) 日期型 (Date) 日期时间型( Datetime) 双精度型 (Double)
记录 北京 82/3/26
无锡 苏州 南京 81/6/4 81/7/28 80/8/10
0207490101 章闻天 0207390102 闻书敏 0207490104 于小丽

表结构(Table Structure)
◦ 存储表记录的一个公共结构。

字段名(Field Name)
◦ 用以标识一个字段的名字; ◦ 字段名一般要与其对应的实体的属性名相同或相近,以 便于记忆; ◦ 字段名可以是以字母开头的字母数字串,也可以是汉字。
◦ 创建的数据库不会自动添加到项目

创建数据库后,将打开“数据库设计器”窗口, 显示对应的“数据库设计器”工具栏。

CREATE DATABASE [DatabaseName|?]
◦ CREATE DATABASE
◦ CREATE DATABASE ?
◦ CREATE DATABASE 数据库名 第1、2句命令会自动打开“数据库设计器”窗口
第3句命令不会自动打开“数据库设计器”窗口

通过界面操作创建数据库时,系统会自动打开数 据库设计器。

用户也可以在项目管理器窗口中选择数据库后单 击“修改”按钮,或利用Modify Database命令打 开数据库设计器。
打开数据库设计器后,用户可以在该设计器中查 看表以及执行创建表之间的关系等操作,且在数 据库设计器打开状态时,提供“数据库”菜单供 用户使用。
表名 xs.dbf
学号 姓名 性别 女 男 男 男 女 女
字段名
系名 信息管理系 信息管理系 信息管理系 电子商务 信息管理系 电子商务 籍贯 北京 南京 出生年月 80/12/1 82/1/3 是否党员 是 是 否 否 是 否
0207390101 刘中雨 0207390103 林天力 0207390104 王 平
不带小数点的数值
真或假 不定长的一段文本 OLE图象、多媒体对象
学生人数
课程是否为必修 简历 图片和声音

指该字段所能容纳数据的最大字节数。
◦ 货币型、日期型、日期时间型和双精度型为8字节;
◦ 整型、备注型、和通用型为4字节;


数据库是一个容器,是许多相关的数据库表及其 关系的集合。

数据库中的表并不是彼此独立的,借助于一个公 共的字段可以将两张表联系起来,这就建立了一 种“关系”。
分析数 据需求
确定需 要的表
确定表 的字段
确定表 之间的 关系
设计的 优化

数据需求分析的目标
◦ 对现实世界中要处理的对象进行详细调查,并在了解整 个系统概况、确定新系统功能的过程中,收集支持系统 目标的信息。
◦ 所有打开的数据库中,只有一个是当前数据库。 ◦ 将其他数据库设置为当前数据库: “常用”工具栏的数据库下拉列表 SET DATABASE TO [DatabaseName] ◦ 可以同时打开多个数据库,最后打开的为当前数据库;
◦ 项目中包含的数据库随项目的关闭而关闭。

修改数据库(打开数据库设计器)
成绩表
专业表

在确定表时,要注意尽量避免在一个表中存储重 复的信息。

将相同的信息只保存一次能减少错误出现的概率, 包括降低数据的冗余度,避免数据的异常插入、 异常删除等操作。



每个字段直接和表的主题相关,即必须确保一个 表中的每个字段直接描述该表的主题,描述另一 个主题的字段应属于另一个表。 不要包含可推导得到或需要计算的字段(数据), 即一般不必把计算结果存储在表中。 收集所需的全部信息,确保所需的信息都已包括 在表中,或者可由表中字段推导出来。但又不是 多多益善,所需信息的多少应根据实际应用的需 要而定,因为涉及到的一个事物的属性很多,不 必须要有所取舍。

最终确定应在数据库中存储何种信息以及它们之 间的关系等。
◦ 需要保存哪些主题的信息(表) ◦ 每个主题需要保存哪些信息(表中的字段)

表是存储数据的容器,也是数据库的主要管理对 象。

确定数据库中的表是数据库设计过程中最具技巧 性的一步。
举例:教学管理信息系统 系代码表

教师表
课程表
学生表
任课表


打开数据库
◦ 新建的数据库,保存后将自动以独占方式打开;
◦ 打开数据库中的表时,系统会自动打开相应数据库;
◦ 项目管理器中选择一个数据库,并单击“修改”按钮; ◦ 命令方式:
OPEN DATABASE [DatabaseName] [Exclusive|Shared][NoUpdate][Validate]
2. Delete File;
3. 单击“项目管理器”窗口的“移去”按钮,在接下去 的提示中选择删除。

根据是否从属于数据库分类
◦ 数据库表
自由表 自由表
◦ 自由表

自由表和数据库表的差异
◦ 与自由表相比,数据库表除具有 自由表的所有特性以外,还具有 数据库管理的其他特性。 数据库表
数据库表
数据库





数据库的组成
◦ 表(Table)
◦ 视图(View):本地视图、远程视图
◦ 连接(Connection) ◦ 存储过程(Stored Procedure)

表及表之间的关系是数据库管理的主要内容,从 属于某一个数据库的表,通常也称为“数据库 表”。 数据库表与数据库之间的相关性是通过数据库表 文件(.dbf)与数据库文件(.dbc)之间的双向 链接实现的。 双向链接包括前链(Forward Link)和后链(Back Link)。
C
Y N F D T B
字母、汉字符号和数字型文本
货币单位 整数或小数 (同数值型) 年,月,日 年,月,日,时,分,秒 双精度数值型
XH、XM
教师的工资 考试成绩
出生日期 上班时间 高精度数据
整型 (Integer)
逻辑型 (Logical) 备注型 (Memo) 通用型(General)
I
L M G
◦ 设计表的结构;
◦ 使用表设计器或命令建立表的结构并保存为表文件。

表的结构主要是指定:
◦ 表的字段及其属性,即由哪些字段组成;
◦ 字段的字段名;
◦ 数据类型; ◦ 宽度。

VFP中每个表最多可以有255个字段。

字段(Field)
◦ 表中的一列,规定了数据的特征。

记录(Record)
◦ 表的一行,多个字段的集合。
数据库概述 数据库的创建、打开与使用
表的创建与使用
永久性关系与参照完整性 有关数据库及其对象的常用函数

VFP3.0之前的数据库实际上是一张二维表,即数 据库就是表,每个数据库都对应一个.dbf文件, 这些文件在逻辑上完全独立,与其他文件没有任 何关联。 VFP3.0之后数据库的概念才得到真正的实现。在 数据库中可以存储和管理各种对象,如表、视图、 关系、连接以及存储过程等,以前的二维表称为 自由表。
◦ “显示”菜单——数据库设计器
◦ Modify DataBase

检查数据库的有效性
◦ 如果用户移动了数据库文件或与数据库关联的表文件, 则这些文件的相对路径会改变,从而可能会破坏用于关 联数据库和表的双向链接。 ◦ Validate Database [Recover]
[to Printer|to file FileName]



前链是保存在数据库文件(.dbc)中的表文件的 路径和文件名信息,它将数据库与数据库表文件 相链接。
后链是存放在表文件(.dbf)的表头中的路径和数 据库文件的路径和文件名,用以将该表与拥有该 表的数据库容器相链接。
数据库文件 前链 前链 前链 前链

后 表文件 链
后 表文件 链
后 表文件 链

存储在数据库中用于描述所管理的表和对象的数 据,即关于数据的数据(元数据 Meta Data)。

每个数据库带有一个数据字典,其数据存储在数 据库文件中。
数据库表可以享受到数据字典的各种功能。 使用数据字典,可以创建字段级规则和记录级规 则,保证主关键字字段内容的唯一性。


如果不用数据字典,也可通过编程实现上述功能。

保存在数据库中的一个定义,指定了远程数据源 的名称。

有两种连接远程数据源的方法
◦ 直接访问在机器上注册的ODBC(OPEN DATABASE CONNECTIVITY,开放数据库互连)数据源;
◦ 用“连接设计器”设计自定义连接。

保存在数据库中的过程代码,由一系列用户自定 义函数组成。

打开一个数据库时,该数据库包含的存储过程将 被自动地加载到内存中。

VFP为数据库设计提供了两个工具:数据库向导和 数据库设计器。
◦ 数据库向导使用预定义的模板帮助用户创建包含相应表 的数据库;
◦ 数据库设计器为用户提供定制复杂数据库的手段。

“项目管理器”窗口
◦ 创建的数据库自动添加到项目

“新建”对话框
◦ 菜单:“文件”→“新建” ◦ 工具栏:“新建”按钮→“数据库”按钮

关闭数据库
◦ 项目管理器中选择要关闭的数据库,单击“关闭”按钮;
相关文档
最新文档