Visual FoxPro数据库与多表操作

合集下载

Visual FoxPro表的基本操作

Visual FoxPro表的基本操作
记录输入窗口
14
Visual FoxPro 1.记录输入窗口15Visual F NhomakorabeaxPro
2.备注型字段数据的输入 在记录输入窗口中,备注型字段显示
“memo”标志,其值通过一个专门的编辑窗 口输入。具体的操作方法是:
将光标移到备注型字段的memo处,按 Ctrl+PgDn或双击字段的memo标志,进入 备注型字段编辑窗口。录入结束按Ctrl+W 保存,或按Ctrl+Q不保存退出。
2.字段类型
字段类型表示该字段中存放数据的类型 。
3
Visual FoxPro
3.字段宽度
字段宽度用以表明该字段允许存放的最大字节 数或数值位数。在建立表结构时,应根据所存数据 的具体情况规定字符型、数值型、浮动型这3种字 段的宽度,若有小数部分则小数点也占一位。其他 类型字段的宽度均由系统统一规定,它们是:货币 型、日期型、日期时间型、双精度型字段宽度均为 8字节,逻辑型字段宽度为1字节,整型、备注型字 段和通用型字段宽度均为4字节。
12
Visual FoxPro
2.命令操作方式 其命令格式:
CREATE [<表文件名>|?] 在命令中使用?或省略该参数时,打开“
创建”对话框,提示输入表名并选择保存表的 位置。
CREATE命令执行后,屏幕上弹出表设 计器窗口,以后的操作方法与菜单操作相同 。
13
Visual FoxPro 4.1.3 向表输入记录 在把刚建立好的表结构存盘以后,若要立即输 入记录,此时,屏幕显示记录输入窗口,用户可通 过它输入一个个记录。
10
Visual FoxPro (4)表字段设置完成后,选择“确定”按钮,结束表 结构的建立。这时将弹出对话框,询问“现在输入 数据记录吗?”,选择“否”,则退出建表工作,以后 需要时可以打开该表并输入数据。若选择“是”,则 可以立即输入数据。

vfp多表查询的例子

vfp多表查询的例子

vfp多表查询的例子全文共四篇示例,供读者参考第一篇示例:Visual FoxPro(VFP)是微软推出的一款结构化查询语言(SQL)和关系数据库管理系统(RDBMS),在数据处理和数据分析方面具有良好的性能和灵活性。

VFP支持多表查询,使用户能够在多个数据表之间进行联合查询,以获取更细致的数据分析结果。

在VFP中,多表查询可以通过使用SQL语句来实现。

SQL语句是一种标准化的数据库查询语言,可以用来访问和操作数据库中的数据。

下面以一个实际案例来介绍VFP多表查询的用法:假设我们有两个数据表,一个是“学生信息表(Student)”,包含学生的姓名、性别和年龄等信息;另一个是“成绩表(Score)”,包含学生的考试科目、考试成绩等信息。

现在我们希望查询每位学生的姓名、年龄和各科成绩的总分,可以通过以下步骤实现:第一步:连接两个数据表在VFP中,我们需要连接两个数据表,以便在查询时能够同时获取学生信息和成绩信息。

可以使用SQL语句中的“JOIN”关键字来实现连接,具体代码如下:```SQLSELECT , Student.Age, SUM(Score.Score) AS TotalScoreFROM StudentJOIN ScoreON Student.ID = Score.StudentIDGROUP BY , Student.Age;```在上面的代码中,我们使用了“SELECT”语句来选择要查询的字段,包括学生的姓名、年龄和总分;使用“JOIN”关键字来连接两个数据表,其中“ON”后面的条件是两个数据表中的关联字段;使用“SUM”函数来计算每位学生的总分;最后使用“GROUP BY”语句来对结果进行分组,以获取每位学生的总分。

第二步:执行查询完成了连接两个数据表和编写查询语句后,我们就可以执行查询了。

在VFP中,可以在查询分析器中输入以上代码并执行,或者将代码嵌入到程序中进行执行。

执行查询后,就可以得到每位学生的姓名、年龄和总分的查询结果。

第4章 VisualFoxPro数据库操作

第4章 VisualFoxPro数据库操作

阶段1 实体完整性
在Visual
FoxPro 6.0中,实体完整性是保证表中 记录“唯一”的特性,即在一个表中不允许有重 复的记录出现。保证实体完整性的方法是利用主 关键字或候选关键字来保证表中的记录“唯一” 。

Visual FoxPro6.0中,将主关键字称为主索 引,将候选关键字称为候选索引,主索引和候 选索引具有相同的作用。若一个字段的值或几 个字段的值能够唯一标识表中的一条记录,则 称为候选关键字。
[EXCLUSIVE|SHARED]
阶段3 修改数据库
数据库的修改操作,是通过【数据库设计器】
来完成的,打开一个数据库会自动打开【数据库 设计器】工具条,通过【数据库设计器】工具条 可以对数据库进行数据对象的建立、修改和删除 等操作。也可以在【数据库设计器】中,单击鼠 标右键进行相关的操作。
用命令打开【数据库设计器】的格式为: MODIFY DATABASE [<数据库文件名 >|?][NOWAIT] [NOEDIT]
阶段1 多工作区的概念
多工作区是为了控制有关系的表之间记录指针
的相互关联,在使用临时联系时,需要临时同时 打开多个表,这种情况下的操作就是多工作区操 作。
选择工作区的命令是:
SELECT <工作区号>|<工作区别名> 其各参数的含义如下: (1)<工作区号>:工作区号的取值范围是 1~32767之间 的正整数。 (2)<工作区别名>:可以是系统定义的别名,即 1~10 号工作区的别名分别为字母A~J;可以将表名作为工作 区的别名;也可以用命令重新定义别名,使用ALIAS命 令实现。
VisualFoxPro数据库操作
第4章 Visual FoxPro数据库操作

数据库数据表操作

数据库数据表操作

这个文件的集合就是“项目”
整合是逻辑的;各文件的保存仍是独立的
“项目”也是一个独立的文件;扩展名
为 .PJX
项目管理器的意义

项目管理器是“项目文件”的用户界面 项目管理器是全部文件的集成环境 项目管理器是创建、调试、编辑和管理 各类文件的工作平台

养成使用项目管理器操作文件的习惯
文件的移入与移出

指定工作目录的意义

创建应用程序以及课程的学习过程中将陆续创建许多 的不同类型的文件

该文件目录将专门用于存放所创建的各类文件 设置工作目录的意义与方法
文件类型的意义

在使用VFP系统,创建数据库应用程序的过程中,
将会产生许多不同类型的文件。

不同类型的文件以不同的扩展名区分标志;扩展


最后输入的记录记为“尾记录”(标记为BOTTOM)
首记录之前设置一个文件起始标记BOF

尾记录之后设置一个文件结束标记EOF
指针的意义

VFP系统提供和设置一个“记录指针” 可在数据表中游动 记录指针在不同时刻,总能是指向某一条特定的记录, 称为当前记录 数据表打开时,记录指针总指向首记录 记录指针的实质是一种特殊的数据,存储的是“记录号”
将记录指针直接指向指定记录 GO N | GOTO N | N 指向第N号记录 GO TOP 指向第1条记录 GO BOTTOM 指向末条记录
相对定位命令

以记录指针当前的位置为基准,向前(向上)或向后(向 下)移动若干条记录
命令格式 SKIP [N]


N的取值问题: N为正数:(向下移动) N为负数: (向上移动) 省略则向下移动1条,SKIP 与SKIP 1等价。 大于记录数,则指针移到文件尾

06 Visual Foxpro中的数据库的建立及其操作

06 Visual Foxpro中的数据库的建立及其操作

注意: 选中复选框,会自动对表中该字段 已有数据做检查,如果原表中有数据不 符合规则,则会直接先提示错误信息, 不能成功设置规则,需要表中数据先修 改正确,才能再次设置。
(3)字段注释
用于说明该字段的用途、特性和 使用说明等补充信息。
5.2.3 设置记录规则 自由表 (1)记录有效性 (2)触发器
临时关系:set relation to (已学知识) 永久关系:在数据库设计器中立。
前提:需要建立关系的两张表必须有公
共字段以及依据公共字段建立好相应的索
引。
5.3.1建立关系的准备
数据库表之间的永久关系的种类: 1)一对一:父->主索引、候选索引 子->主索引、候选索引 2)一对多:父->主索引、候选索引 子->普通索引、唯一索引
2)菜单方式添加表 在数据库设计器中添加(三种方式)。
(3)从数据库中移去表
1)命令方式移去表 格式:remove table <数据表文件名> [delete] 说明:选择delete短语,移去数据库表的同 时将其删除,否则,只是从数据库中移去指 定的数据表。 2)在数据库设计器中移去表 ……
5.2 数据库表的设置 可以为数据库表设置一些自由表没有 的属性。
一对一
父->主索引、候选索引 子->主索引、候选索引
一对多
父->主索引、候选索引 子->普通索引、唯一索引
主索引的建立:
1) 一张数据库表只能有一个主索引。
2) 主索引和候选索引只能由主关键字来建 立。 3) 主关键字段不允许出现重复值、不能设 定空值。
建立主索引的方法: 1)在表设计器中, 运用菜单建立, …… 2)命令方式:

visual foxpro介绍和基本使用教程

visual foxpro介绍和基本使用教程

visual foxpro介绍和基本使用教程Visual FoxPro是一种基于对象的数据库管理系统(DBMS),用于开发Windows平台上的应用程序。

它提供了强大的数据处理和报表功能,以及快速的开发工具和集成开发环境(IDE)。

以下是Visual FoxPro的一些特点和功能:1. 数据库管理:Visual FoxPro可以创建和管理数据库,包括表、字段、索引等。

它支持多种数据类型和关系数据库模型。

2. 数据处理:Visual FoxPro可以进行数据查询、过滤、排序、更新等操作。

它支持SQL语言,并且提供了强大的查询和筛选功能。

3. 报表生成:Visual FoxPro可以生成各种类型的报表,包括表格、图表、交叉表等。

它提供了丰富的报表设计工具和模板,可以自定义报表布局、样式和格式。

4. 用户界面:Visual FoxPro可以创建各种用户界面,包括窗体、对话框、菜单等。

它提供了丰富的控件和事件处理功能,可以实现复杂的用户交互。

5. 编程语言:Visual FoxPro使用类似于BASIC的编程语言,具有简单易学的语法和强大的编程功能。

它支持面向对象编程(OOP),可以创建和使用类、对象、方法等。

以下是Visual FoxPro的一些基本使用教程:1. 安装和配置:首先需要下载并安装Visual FoxPro软件。

安装完成后,打开IDE并进行基本配置,包括设置数据库路径、编译选项等。

2. 数据库操作:创建数据库文件(例如.dbf),定义表结构和字段,添加数据记录等。

可以使用SQL语句或图形界面来进行操作。

3. 数据查询:使用SELECT语句进行数据查询,可以通过WHERE子句过滤数据,通过ORDER BY子句排序数据。

查询结果可以通过游标(Cursor)进行访问和处理。

4. 报表设计:使用报表设计器创建报表模板,包括表头、表体、表尾等部分。

可以选择不同的布局和样式,并添加数据绑定和计算字段。

Visual FoxPro6.0程序设计教程第四章 索引、排序与多表操作

Visual FoxPro6.0程序设计教程第四章 索引、排序与多表操作
说明: <字段名1>:指定主排序字段。如果有多个排序字段,先 按<字段名1>排序,对于字段值相同的记录,再按<字段名 2>排序。 <表文件名>:新建的数据表文件名,默认扩展名 .dbf。 注意:该命令最终的结 [/A][/D][/C]:指明按字段的升序、降序排序和排序时不区 果是生成一个新表!!且 分字母大小写。 使用该命令不需要建索引! Ascending | Descending:对没有用/A或/D指明排序顺序 的字段按升序或降序排序。 For <条件表达式>:对满足条件的记录进行排序。 Fields <字段名表>:指定新文件中所含字段及其顺序。
每次表打开时自动打 索引 开,并且在表修改时 自动更新的索引文件, 通常与表同名,但扩 展名是.CDX
VFP6.0索引文件
结构复合索引文件 复合索引文件(· CDX )
包含多个索引入口的索 引文件,在使用时需明 确指定打开
非结构复合索引文件
4.2 索引
4.2.2 索引的分类
三种索引文件的比较
索引类型
4.1 排序 对表文件进行物理位置的整理
命令格式:Sort To <表文件名> On <字段名1>[/A] [/D] [/C] [,<字段名2 >[/A] [/D] [/C]…] [Ascending | Descending] [For <条件表达式>] [Fields <字段名表>]
4.1 排序
独立 .idx
描述 必须明确的打开, .idx的基本 名由用户定义 必须明确的打开,使用和表名 不同的基本名 使用和表文件名相同的文件名, 和表一起自动打开

数据库与多表操作答案

数据库与多表操作答案

一、单选题及解析1.JS.dbf表已在2号工作区打开,2号工作区非当前工作区,要把JS.dbf表所在工作区选为当前工作区的命令是()。

A.SELECT 0B.SELECT 2 IN JSC.SELECT JSD.SELECT (JS)【解析】本题考查的知识点是工作区的选择。

工作区就是内存中的一块区域。

打开表文件的实际操作就是从磁盘将数据表调入内存的某个工作区。

在任一时刻用户只能选择一个工作区进行操作,这个工作区称为当前工作区。

SELECT命令在选择当前工作区时,可使用工作区号、别名或0。

SELECT 0命令的功能是选择未用的最小工作区号,所以选项A不能使用。

选项B和选项D命令格式是错误的,选项C是通过别名的方式选择工作区的,因此,正确答案为选项C。

【答案】C2.在数据工作期窗口中打开表时,下列说法正确的是()。

A.将选择未被使用的区号最小的工作区B.选择任意一个工作区C.只能打开自由表D.必须先选定工作区号,才能打开表【解析】本题考查的知识点是数据工作期。

数据工作期是一个用来设置数据工作环境的交互操作窗口。

利用数据工作期窗口可以打开或显示表或视图、建立表间临时关系以及设置工作区属性等。

打开表时,Visual FoxPro将自动选择未被使用的区号最小的工作区,打开自由表或数据库表均可,所以选项B、C、D说法不正确。

【答案】A3.下列说法中,不正确的是()。

A.Visual FoxPro可在内存中开辟32767个工作区B.系统为1~10工作区规定了一个缺省别名,别名分别用字母A、B、…J表示C.Visual FoxPro 启动后,默认1号工作区为当前工作区D.在任一时刻只能对当前工作区文件进行操作【解析】本题考查的知识点是工作区的基本概念。

Visual FoxPro系统提供32767个工作区,每个工作区可以用1~32767作为各工作区的编号,称为工作区号。

启动Visual FoxPro系统时,系统默认编号为1的工作区为当前工作区。

VFP_04第四章Visual FoxPro 数据库及其操作

VFP_04第四章Visual FoxPro 数据库及其操作
在对一个数据库中的表进行操作时,需要先打开这个 数据库。
在项目管理器中打开数据库。(选中库后,库自动打 开)
通过“打开”对话框打开数据库。 命令法:OPEN DATABASE 库文件名 [EXCLUSIVE|SHARED][NOUPDATE][VALIDATE] (在工具栏中间显示打开的库名)
二级VFP程序设计教程
CLOSE DATABASE——关闭所有工作区被打 开的表文件
CLOSE ALL ——关闭所有工作区中的所有文件; QUIT——关闭所有文件,且退出系统
窗口菜单法:在“窗口”菜单中选择“数据工作期”, 选择欲关闭的表,单击“关闭”。
现象:突然断电,数据丢失。
二级VFP程序设计教程
第四章 V FP 数据库及其操作
二级VFP程序设计教程
第四章 V FP 数据库及其操作
六、使用浏览窗口操作表
1、打开浏览器窗口 项目管理器:列表中选择表,单击“浏览”。 数据库设计器:选中表,单击“浏览”,或者右击表, 选择“浏览”。 使用命令:打开表以后,Browse。
二级VFP程序设计教程
第四章 V FP 数据库及其操作
浏览器窗口有两种显示方式:编辑方式和浏览方式
二级VFP程序设计教程
第四章 V FP 数据库及其操作
BEFORE:表示在当前记录前插入新记录,否则在当前记录
后插入;
BLANK:表示插入一条空记录,不进入全屏幕输入状态,反
之则进入全屏幕输入状态输入数据。 如:在第5条记录后插入一条记录: GO 5 INSERT 在第10条记录前插入一条空记录: GO 10 INSERT BEFORE BLANK
二级VFP程序设计教程
第四章 V FP 数据库及其操作

第4章 Visual FoxPro表的基本操作

第4章 Visual FoxPro表的基本操作

/webnew/
4.1.1

建立数据库


l 用菜单方式建立数据库 操作方法:在Visual FoxPro系统主菜单下,选择【文件】│【新建】 命令,然后选择【数据库】命令,单击【新建文件】按钮,弹出 【创建】对话框。填写文件名后进入【数据库设计器】。 l 用命令方式建立数据库 命令格式:CREATE DATABASE<数据库名> 命令功能:创建一个数据库,若省略扩展名,则系统默认其扩展名 为.DBC。
/webnew/
4.1.2 打开、修改及关闭数据库


(3)关闭数据库 命令格式:CLOSE DATABASE 命令功能:关闭当前打开的数据库,同时关闭该数据库中已经被打开的 各种文件。
/webnew/
/webnew/
/webnew/
/webnew/
4.2.1

新建表


l 利用项目管理器建立表 操作步骤: (1) 打开【项目管理器】并选择【数据】选项卡。 (2) 在【数据】选项卡中选择【自由表】|【新建】命令,弹出【新建 表】对话框,在该对话框中单击【新建表】按钮,进入【创建】对话框。 (3) 在【创建】对话框输入要建立的表的文件名,如“学生”,再单击 【保存】按钮,进入【表设计器】对话框,在该对话框中所要进行的操 作参见下图。
/webnew/
4.1.2 打开、修改及关闭数据库

打开、修改及关闭一个已存在的数据库可采用三种方式:即项目管理器 方式、菜单方式和命令方式。

1.

在项目管理器中打开、修改和关闭数据库


操作方法如下: (1) 打开数据库时,打开【项目管理器】,在【数据】选项卡中选择一 个已经存在的数据库文件,并单击【打开】按钮。此时,被选择的数据 库文件被打开,同时【打开】按钮变成【关闭】按钮。 (2) 修改数据库时,在【项目管理器】的【数据】选项卡中选择要修改 的数据库文件,并单击【修改】按钮,此时,可在打开的【数据库设计 器】中,对数据库文件进行修改。 (3) 关闭数据库时,在【项目管理器】的【数据】选项卡中选择要关闭 的数据库文件,并单击【关闭】按钮即可。

VFP数据库系统Visual FoxPro数据库与表的基本操作

VFP数据库系统Visual FoxPro数据库与表的基本操作
通用型字 段的录入 可通过系 统编辑菜 单中的“ 插入对象 ”。
二、利用向导创建表结构
“表向导”是基于典型的表结构创建表。 “表向导”允许从样表中选择满足需要的表。 在一步步经过向导的过程中,可以定制表的 结构和字段。也可以在向导保存表之后修改 表。
3.1.3 修改表结构
利用“表设计器”,可以改变已有表的结构, 如增加或删除字段、设置字段的数据类型及宽 度、查看表的内容以及设置索引。
REST,
代表其余,可对某一范围的记录起作 用,作用范围从当前记录开始,到表 或视图的最后一条记录为止。
FOR、WHILE文本 框用于显示“表达式 生成器”对话框。
WHILE 表达式指定 仅当该逻辑表达式为 “真”时,操作影响 记录。一旦表达式取 值为“假”,操作即 停止而不考虑其余记 录。
3.2.4 修改记录 打开要修改记录的表,进入表“浏览”窗
3.2.2 显示记录
从“文件”菜单中选择“打开”,选定想 要查看的表名“jsqk.dbf”。
从“显示”菜单中选择“浏览”。 显示的 内容是由一系列可以滚动的行和列组成的。
“编辑”方式
3.2.2 显示记录
从“文件”菜单中选择“打开”,选定想 要查看的表名“jsqk.dbf”。
从“显示”菜单中选择“浏览”。
8个字节, 小于等于
20位
数据范围
小于等于254个字符
-922337203685477.5807 to 922337203685477.5807
-.9999999999E+19 to .9999999999E+20
日期型 D
年,月,日
8个字节
日期时 T 年,月,日,时, 8个字节
间型
分,秒

VFP第04讲Visual FoxPro 数据库及操作

VFP第04讲Visual FoxPro 数据库及操作
6
马驰
主讲
国家二级VFP考试专用教材
第四章
Visual FoxPro 数据库及操作
向表中输入记录
如图:
选择“是”, 立即输入记 录
7
马驰
主讲
国家二级VFP考试专用教材
第四章
Visual FoxPro 数据库及操作
输入表记录的几点说明
●逻辑型字段宽度为1,只接受T,Y,F,N这4个字母之一 (大小写均可) ●日期型数据必须与系统日期格式相符 SET DATE MDY可将系统日期格式转换为美国日期 格式mm/dd/yy ●备注型与通用型字段的输入与编辑 备注型与通用型字段中已填有memo和gen等内容,等 待输入有关数据。操作如下: 1.把光标定位于“memo”或“gen”。 2.按Ctrl+PgDn,Ctrl+PgUp或Ctrl+Home等组合键之 一或双击鼠标,出现“memo”或“gen”编辑窗口。
国家二级VFP考试专用教材
第四章
Visual FoxPro 数据库及操作
VFP二级教程
教育部考试中心 编写
1
马驰
主讲
国家二级VFP考试专用教材
第四章
Visual FoxPro 数据库及操作
第四章 Visual FoxPro 数据库及操作
分析数据需求 建 立 数 据 库 的 流 程 如 图 :
.尽量避免数据的重复可减少更改数 据是出错的可能性; .对数据合理分类,明确表的个数及 其需存储的信息; .防止删除有用的信息。
收集和规划数据 确定表的结构
.确定字段属性及主关键字
确定表间关系
设计求精
2
.有一对一,一对多,多对多关系 .建立表间关系,即将一个表的主关键 字添加到另一个表。 .考虑:是否遗忘了字段? .是否有的信息未包括进去? .主关键字是否合适? .是否有重复信息? 马驰

8.VFP数据库及表的基本操作

8.VFP数据库及表的基本操作

记录的维护
记录的增加
(见教科书123页)
命令格式: append [blank]
〘例5-3〙在“图书信息管理”项目中建立如图所 示的管理读者信息的表单,保存为“读者信息维 护.scx”,单击“添加读者”按钮,可以通过表单 录入新的读者信息。 将数据环境 中的“读者” 表拖放到表 单中产生表 格控件。
通常情况下, ①文本框、组合框等可以作为输入 类的控件; ②标签、文本框、编辑框、列表框、 表格、图像、Active绑定控件等作为输 出类的控件; ③命令按钮、命令按钮组、复选框、 选项按钮组、计时器可以作为控制类的 控件。
数据表中记录指针的定位
在Visual FoxPro 系统环境下, 表中的每一列数据是通过字段名来 标识的,而每一行数据是通过记录 号来标识的。
命令格式:
[go[to]] <数值表达式>| bottom | top
(教材P117) 【例5-1】在“图书信息管理”项目
中建立一个管理图书信息的表单,保存为“图 书信息.scx”,实现“首记录”、“末记录”按 钮的功能,使得表单上能够看到图书表的第一 字符、数值、日期型字段,产生文本框控件; 条记录或最后一条记录。 逻辑型字段,产生复选框控件; 在数据环境中添加 备注型字段,产生编辑框控件; 图书表,将“图书” 表的所有字段逐个 通用型字段,产生ActiveX绑定控件 拖放到表单上,自 动生成与该字段关 联的控件。
通用型 日期型
Y L O
T X U
日期时间型 Null值 未定义
基于数据表的表单设计方法
(教科书P112)
① 建立一个表单,设置他们的外观尺寸,以形成 Windows软件界面; ② 为表单设置数据环境,数据环境规定表单与数 据表的相关性; ③ 根据软件功能要求,在表单中分配一些控件对 象。原则是美观、清晰、符合操作习惯; ④ 设置每一个控件的关键属性值,如:外观特征、 数据控制源、标题、是否可见等;
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

操作步骤
(1)启动 Visual FoxPro。
(2)在命令窗口中输入如下命令,结果如图 1-4-20 所示。
SELECT 2 USE 床位分配
&&打开子表
SELECT 1
USE 患者信息
&&打开父表
JOIN WITH B TO 患者床位 FOR 住院号=B.住院号 FIELDS 住院号,姓名,住院科室,;
图 1-4-15 非当前工作区字段的访问
【实验 4.3】练习关联两个表,要求学会建立临时性关联(SET RELATION TO 命令)和
永久性关联。
实验分析
临时性关联是指两个表之间的逻辑关联,包括一对一的关联和一对多的关联。当表关闭
或使用命令关闭关联后,两个表的关联随即取消。
永久性关联是指两个表之间的物理关联。两个表所从属的数据库打开后,两个表的关联
关系即存在。如果想删除永久性关联,需要在数据库设计器中删除永久性关联。
(1)将患者信息.dbf 和床位分配.dbf 以住院号为关键字段建立一对一的关联,运行结果
如图 1-4-16 所示。
操作步骤
① 启动 Visual FoxPro。
② 在命令窗口中,输入如下命令:
SELECT 2 USE 床位分配 INDEX ON 住院号 TO zyh
·49·
l 菜单方式 ① 启动 Visual FoxPro。 ② 选择【文件】|【新建】命令,在打开的“新建”对话框中选择“数据库”单选按钮, 单击“新建文件”按钮,出现“创建”对话框,确定需要建立数据库的路径和数据库文件名,如 图 1-4-6 所示,单击“保存”按钮后,打开数据库的同时将打开如图 1-4-2 所示的数据库设计器。
SELECT 1
USE 患者信息
&&打开父表
SET RELATION TO 住院号 INTO B &&建立一对一关联
SET SKIP TO B
&&建立一对多关联
DISP ALL 住院号,姓名,B.费用类别,B.费用名称,B.用量
·54·
图 1-4-17 一对多关联
Visual FoxPro 程序设计上机指导
图 1-4-3 关闭数据库
⑤ 在命令窗口内输入命令:DELETE DATA 住院信息,如图 1-4-4 所示,则删除已经存 在的数据库。
图 1-4-4 删除数据库
⑥ 在命令窗口内输入命令:OPEN DATA 住院信息,如图 1-4-5 所示,则打开存在的数 据库。
图 1-4-5 打开数据库
技巧解析 在没有指定保存路径的情况下,数据库默认保存位置一般为:“C:\Program Files\Microsoft Visual Studio\Vfp98”。
图 1-4-1 创建住院信息数据库
③ 在命令窗口内输入命令:MODI DATABASE 住院信息,然后按回车键,弹出数据库 设计器窗口,如图 1-4-2 所示。
Visual FoxPro 程序设计上机指导
图 1-4-2 数据库设计器
④ 在命令窗口内输入命令:CLOSE DATA,如图 1-4-3 所示,则关闭已经打开的“数据 库设计器”窗口。
【实验 4.2】练习选择工作区命令(SELECT 命令)。 实验分析 本实验要求学生掌握表别名的定义、工作区的选择、非当前工作区字段的访问等操作。 (1)练习定义表的别名,要求将患者信息定义别名为病人信息。 操作步骤 ① 启动 Visual FoxPro。 ② 打开患者信息.dbf,为其定义别名,如图 1-4-13 所示。
&&记录指针指向最后一条记录
?RECNO() SKIP
&&记录指针下移 1 位,记录指针指向表底
?RECNO()
GO TOP
&&记录指针指向第一条记录
?RECNO() SKIP –1
&&记录指针上移 1 位,记录指针指向表顶
?RECNO() SET RELATION TO &&取消关联
技巧解析
当父表文件的记录指针移动时,子表文件的记录指针就定位于<关联表达式>值与<索引 表达式>值相等的第一条记录上。如果子表中找不到匹配的记录,则子表的记录指针指向文 件尾,这时 EOF 返回值为.T.。
图 1-4-18 建立永久关联
图 1-4-19 “编辑关系”对话框
【实验 4.4】练习使用连接命令(JOIN 命令),要求将“患者信息.dbf 表”和“床位分配.dbf 表”文件按住院号连接,生成一个新的表文件“患者床位.dbf”,并浏览该表。
实验分析 JOIN 命令将两个表以关键字段相等为条件连接成独立的新表,新表与原来的两个表没有 任何关系。
诊断,B.床位号,B.医生姓名
&&将父表和子表连接成新表“患者床位.dbf”
SELECT 0
·55·
USE 患者床位 BROWSE
图 1-4-20 实验 4.5 运行结果
技巧解析 执行 JOIN 命令时,首先将表“患者信息.dbf”的记录指向第 1 条记录,然后在床位分配.dbf 文件中按两个表住院号相等的条件查找,每找到一个就在新表“患者床位.dbf”生成一条记 录。“床位分配.dbf”表的记录全部查找完后,“患者信息.dbf”表的记录指针指向下一条记录, 重复比较连接,直到“患者信息.dbf”表的所有记录处理完为止。 【实验 4.5】表间的数据更新(UPDATE 命令)。要求学会PDATE 命令将子表中的数据按关键字段去更新主表文件的数据。 操作步骤 (1)创建表文件患者医疗费用合计.dbf,内容如图 1-4-21 所示。
技巧解析 SET SKIP TO 命令要在 SET RELATION 命令建立了一对一的关联之后才能使用,将一 对一的关联进一步定义成一对多的关联。 当父表中的一个记录与子表的多个记录相匹配时,在父表中使用 SKIP 命令,并不能使 父表的指针移动,而子表的指针却向下移动,指向下一条与父表相匹配的记录;重复使用 SKIP 命令,直至在子表中没有与父表当前记录相匹配的记录后,父表的指针才向下移动。 (3)练习建立永久关联。为“住院信息”数据库的“患者信息.dbf”表和表“住院费 用.dbf”通过住院号建立永久关联。 操作步骤 ① 打开住院信息数据库,弹出数据库设计器窗口。 ② 以表“患者信息.dbf”的住院号为关键字建立一个主索引 zyh;再以表“住院费用.dbf” 的住院号为关键字建立一个普通索引 zyh。 ③ 在数据库设计器窗口中,用鼠标直接将表“患者信息.dbf”的 zyh 索引项拖放到表 “住院费用.dbf”的 zyh 索引项上,在两表之间将产生一条关联线,如图 1-4-18 所示。 ④ 在数据库设计器窗口中双击数据库表之间的关联线,将弹出如图 1-4-19 所示的“编 辑关系”对话框。在该对话框中可以修改已建立的关联。此外,若单击关联线,使其变粗, 然后按 DELETE 键,则可以删除已建立的关联。
&&打开子表 &&子表以住院号为索引表达式建立索引
SELECT 1
USE 患者信息
&&打开父表
SET RELATION TO 住院号 INTO B &&建立一对一关联
LIST 住院号,姓名,B.医生姓名,B.护士姓名,B.床位号
图 1-4-16 一对一关联
·53·
③ 在步骤②的基础上,继续执行下面命令,练习 GO、SKIP、RECNO 等命令。
图 1-4-7 数据库表设计器
③ 选择“索引”选项卡,在“索引名”列下方的文本框中输入索引名,比如 zyh。 ④ 在“类型”列中下拉列表框中选择“主索引”。如图 1-4-8 所示。 ⑤ 单击“表达式”列右侧的生成器按钮,打开如图 1-4-9 所示的“表达式生成器”对话 框。 ⑥ 在“表达式生成器”对话框的“表达式”框中,输入索引表达式。输入表达式时, 可以在“字段”列表框中双击所需字段,如“住院号”。 ⑦ 单击“确定”按钮,完成表达式的输入,返回表设计器对话框中。
图 1-4-10 添加表的快捷菜单
图 1-4-11 将自由表转换成数据库表
(4)练习将数据库表转换成自由表。 操作步骤 ① 打开“住院信息”数据库。 ② 右键单击要删除的患者信息表,在快捷菜单中选择“删除”命令,如图 1-4-12 所示。 ③ 在弹出的对话框中选择“移去”按钮。
·51·
图 1-4-12 将数据库表转换成自由表
SELECT 1 USE 患者信息 SELECT 2 USE 床位分配 SELECT 3 USE 住院费用 SELECT 1 LIST 住院号,姓名,性别,出生日期
③ 在命令窗口内输入命令,如图 1-4-15 所示。练习非当前工作区字段的访问。 技巧解析 访问非当前工作区的字段时,要在该字段名前加上其所在工作区的别名或表的别名,即
·52·
别名->字段名或别名.字段名。
Visual FoxPro 程序设计上机指导
close all SELECT A USE 患者信息 SELECT B USE 床位分配 SELECT A DISPLAY 姓名,性别,出生日期,B.医生姓名,B.护士姓名,B->床位号
图 1-4-14 工作区选择
(2)将患者信息.dbf 和住院费用.dbf 以住院号为关键字段建立一对多的关联,运行结果 如图 1-4-17 所示。
操作步骤
① 启动 Visual FoxPro。 ② 在命令窗口中,输入如下命令:
SELECT 2 USE 住院费用 INDEX ON 住院号 TO zyh
&&打开子表 &&子表以住院号为索引表达式建立索引
4 实验 Visual FoxPro 数据库与多表操作
【实验目的】 1.掌握 Visual FoxPro 建立数据库和数据库表的方法。 2.掌握数据库、数据库表的常用操作。 3.掌握工作区、多工作区和当前工作区等基本概念。 4.掌握选择当前工作区的方法。 5.掌握有关工作区操作的常用命令的使用方法。 【实验内容】 1.练习建立、修改、关闭、删除和打开数据库。 2.练习建立数据库表及常用操作。 3.练习使用选择工作区命令(SELECT 命令)。 4.练习关联两个表,建立临时性关联(SET RELATION TO 命令)和永久性关联。 5.练习使用连接命令(JOIN 命令)。 6.练习使用表间的数据更新命令(UPDATE 命令)。 【实验要求与步骤】 【实验 4.1】数据库和数据库表练习,掌握数据库和数据库表的基本操作。 实验分析 本实验要求学生掌握数据库的基本操作(命令方式和菜单方式),如命令 CREAT DATABASE、MODI DATABASE、CLOSE DATA、DELETE DATA、OPEN DATA 等。 要求学生掌握数据库表设计器的设置方法和自由表和数据库表间的相互转换等。 (1)建立“住院信息”数据库,练习数据库的修改、关闭、删除、打开等操作。 操作步骤 l 命令方式 ① 启动 Visual FoxPro。 ② 在命令窗口内输入命令,如图 1-4-1 所示,然后按回车键。
相关文档
最新文档