第12章多库文件操作 第12章多库文件操作 12.1同时打开多个数据库文件 12,2调用非当前库文件数据—联访 123被访工作区记录指针的自动移动一 关联 12,4直接用一个非当前库文件修改 当前库文件命令— UPDATE 125数据库文件的连接JOIN <BACK
第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〈工作区号〉/〈工作区别名〉执行后,命 令中规定的工作区即为新的当前工作区。在上述命 令中,选用工作区号、该工作区的系统别名、用户别 名(若存在)都是等价的。 <BACK
第12章多库文件操作 (2)工作区的用户别名。 (3)定义用户别名的USE命令。 3. 选择当前工作区——SELECT 刚引入FoxPro时,1号工作区是当前工作区。 SELECT 命令可改变当前工作区。 SELECT〈工作区号〉/〈工作区别名〉 执行后,命 令中规定的工作区即为新的当前工作区。 令中,选用工作区号、该工作区的系统别名、用户别 名(若存在)都是等价的
第12章多库文件操作 122调用非当前库文件数据联访 FoxPro提供了调用非当前库文件数据的方法—联 访。有两种联访格式,它们是: 〈工作区别名〉.〈字段名〉 〈工作区别名〉->〈字段名〉 例如:B->基本工资# PRICE房电费。 在格式2中,“-″是连字符>”是大于符
第12章多库文件操作 12.2 调用非当前库文件数据——联访 FoxPro提供了调用非当前库文件数据的方法——联 访。有两种联访格式,它们是: 〈工作区别名〉.〈字段名〉 〈工作区别名〉->〈字段名〉 例如:B->基本工资#,PRICE.房电费。 在格式2中, “-”是连字符, “>”是大于符
第12章多库文件操作 联访是多库文件操作的基础。可以说,所有的多库 文件操作,都是通过联访来完成的 联访不改变被访非当前库文件的内容,也不改变被 访库文件中记录指针的指向。 由于联访只能调用非当前库文件中当前记录的字 段值,因此为取得正确数据,在联访前,必须在被访工作 区中,使被引用数据的记录成为当前记录。然后,才能进 行联访。 <BACK
第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 此命令将取消当前工作区与所有非当前工作区之 间的一切原有关联