
第12章多库文件操作 第12章多库文件操作 12.1同时打开多个数据库文件 12,2调用非当前库文件数据—联访 123被访工作区记录指针的自动移动一 关联 12,4直接用一个非当前库文件修改 当前库文件命令— UPDATE 125数据库文件的连接JOIN
第12章多库文件操作 第12章 多库文件操作 12.1 同时打开多个数据库文件 12.2 调用非当前库文件数据——联访 12.3 被访工作区记录指针的自动移动—— 关联 12.4 直接用一个非当前库文件修改 当前库文件命令—— UPDATE 12.5 数据库文件的连接—— JOIN

第12章多库文件操作 121同时打开多个数据库文件 121.1工作区和当前工作区 工作区是 FoxPro在内存中提供的一块区域。在 个工作区中,可打开一个库文件及有关其它文件,如记 乙文件,索引文件等。并且,每一个工作区都拥有自己 独立的记录指针 在 FoxPro for Ms-DOS的标准版本中,共有25个 工作区
第12章多库文件操作 12.1 同时打开多个数据库文件 12.1.1 工作区和当前工作区 工作区是FoxPro在内存中提供的一块区域。 在一 个工作区中, 可打开一个库文件及有关其它文件, 如记 忆文件, 索引文件等。 并且, 每一个工作区都拥有自己 独立的记录指针。 在FoxPro for MS --DOS的标准版本中, 共有 25 个 工作区

第12章多库文件操作 121.2选择当前工作区 1工作区的标号 FoxPro为每个工作区赋予一个惟一的标号,分别为 1,2,3,,25,称为工作区的区号。对应地这些工作区 也分别称为1号工作区,2号工作区,255号工作区 2.工作区的别名 除了标号外,工作区还有自己的别名。系统为每个 工作区规定了一个固定别名称为系统别名。用户也可 为工作区定义一个别名,称为用户别名。 (1)工作区的系统别名
第12章多库文件操作 12.1.2 选择当前工作区 1.工作区的标号 FoxPro为每个工作区赋予一个惟一的标号,分别为 1,2,3,…,255,也称为工作区的区号。对应地,这些工作区 也分别称为:1号工作区,2号工作区, 255号工作区。 2. 工作区的别名 除了标号外,工作区还有自己的别名。系统为每个 工作区规定了一个固定别名,称为系统别名。用户也可 为工作区定义一个别名,称为用户别名。 (1)工作区的系统别名

第12章多库文件操作 (2)工作区的用户别名。 (3)定义用户别名的USE命令 3选择当前工作区— SELECT命令 刚引入 FoxPro时,1号工作区是当前工作区 SELECT命令可改变当前工作区。命令格式: SELECT〈工作区号〉/〈工作区别名〉执行后,命 令中规定的工作区即为新的当前工作区。在上述命 令中,选用工作区号、该工作区的系统别名、用户别 名(若存在)都是等价的
第12章多库文件操作 (2)工作区的用户别名。 (3)定义用户别名的USE命令。 3. 选择当前工作区——SELECT 刚引入FoxPro时,1号工作区是当前工作区。 SELECT 命令可改变当前工作区。 SELECT〈工作区号〉/〈工作区别名〉 执行后,命 令中规定的工作区即为新的当前工作区。 令中,选用工作区号、该工作区的系统别名、用户别 名(若存在)都是等价的

第12章多库文件操作 122调用非当前库文件数据联访 FoxPro提供了调用非当前库文件数据的方法—联 访。有两种联访格式,它们是: 〈工作区别名〉.〈字段名〉 〈工作区别名〉->〈字段名〉 例如:B->基本工资# PRICE房电费。 在格式2中,“-″是连字符>”是大于符
第12章多库文件操作 12.2 调用非当前库文件数据——联访 FoxPro提供了调用非当前库文件数据的方法——联 访。有两种联访格式,它们是: 〈工作区别名〉.〈字段名〉 〈工作区别名〉->〈字段名〉 例如:B->基本工资#,PRICE.房电费。 在格式2中, “-”是连字符, “>”是大于符

第12章多库文件操作 联访是多库文件操作的基础。可以说,所有的多库 文件操作,都是通过联访来完成的 联访不改变被访非当前库文件的内容,也不改变被 访库文件中记录指针的指向。 由于联访只能调用非当前库文件中当前记录的字 段值,因此为取得正确数据,在联访前,必须在被访工作 区中,使被引用数据的记录成为当前记录。然后,才能进 行联访
第12章多库文件操作 联访是多库文件操作的基础。可以说,所有的多库 文件操作,都是通过联访来完成的。 联访不改变被访非当前库文件的内容,也不改变被 访库文件中记录指针的指向。 由于联访只能调用非当前库文件中当前记录的字 段值,因此,为取得正确数据,在联访前,必须在被访工作 区中,使被引用数据的记录成为当前记录。然后,才能进 行联访

第12章多库文件操作 123被访工作区记录指针的 自动移动一关联 123.1实现关联命令— SETRELATION 命令的基本格式 SETRELATIONTO〈表达式〉INTO〈别名〉/〈工 作区号〉[ ADDITⅤE] 该命令使〈别名〉工作区(或〈工作区号〉指定工 作区)中的库文件与当前库文件建立关联。当前库文件为 主动库文件,也称父库文件;被关联库文件也称子库文件
第12章多库文件操作 12.3 被访工作区记录指针的 自动移动——关联 12.3.1 实现关联命令——SETRELATION 命令的基本格式 SETRELATIONTO〈表达式〉INTO〈别名〉/〈工 作区号〉[ADDITIVE] 该命令使〈别名〉工作区(或〈工作区号〉指定工 作区)中的库文件与当前库文件建立关联。当前库文件为 主动库文件,也称父库文件;被关联库文件也称子库文件

第12章多库文件操作 般地,子库文件以此〈表达式〉为索引关键字的 索引文件必须已打开,并成为主索引。每当当前库文件 记录指针移动时,子库文件的记录指针,也将根据此主索 引指向与之匹配的第一条记录 ADDITIVE:若命令中未选用此选择项命令还将取 消当前工作区原有的关联若选用了此选择项,则保留当 前工作区原有关联仅增加一个新关联。由此可见,一个 当前工作区可同时与多个非当前工作区建立关联。下 列一段程序在两工作区间建立了关联
第12章多库文件操作 一般地,子库文件以此〈表达式〉为索引关键字的 索引文件必须已打开,并成为主索引。每当当前库文件 记录指针移动时,子库文件的记录指针,也将根据此主索 引,指向与之匹配的第一条记录。 ADDITIVE:若命令中未选用此选择项,命令还将取 消当前工作区原有的关联;若选用了此选择项,则保留当 前工作区原有关联,仅增加一个新关联。由此可见,一个 当前工作区可同时与多个非当前工作区建立关联。下 列一段程序在两工作区间建立了关联

第12章多库文件操作 SELECTI USE工资 INDEX ON姓名TO姓名 SELECt 2 USE职工 SET RELATION TO姓名ⅠNTO工资 REPLACEALL工资WTHA->基本工资+A->工龄工资 +A->补贴 LIST
第12章多库文件操作 SELECT1 USE 工资 INDEX ON姓名TO姓名 SELECT 2 USE 职工 SET RELATION TO姓名INTO工资 REPLACEALL工资WITHA->基本工资+A->工龄工资 +A->补贴 LIST

第12章多库文件操作 123.2取消关联 有三种方法可以取消当前工作区与非当前工作区之 间的原有关联 ①在建立新关联时,不选用 ADDITIVE选择项将取 消当前工作区与非当前工作区之间原有的所有关联。 ②使用不建立新关联的 SETRELATION命令。 命令格式 SETRELATIONTO 此命令将取消当前工作区与所有非当前工作区之 间的一切原有关联
第12章多库文件操作 12.3.2 取消关联 有三种方法可以取消当前工作区与非当前工作区之 间的原有关联。 ①在建立新关联时,不选用ADDITIVE选择项,将取 消当前工作区与非当前工作区之间原有的所有关联。 ②使用不建立新关联的SETRELATION命令。 命令格式:SETRELATIONTO 此命令将取消当前工作区与所有非当前工作区之 间的一切原有关联