(2).选择当前工作区
每一个工作区用工作区号或别名来标识
1)工作区号
利用数字1~32767来标识32767个不同的工作区
2)别名
前10工作区用A~J10个字母来标识。
采用该工作区中已打开的数据库的库名来作别名
用户自己定义
【命令格式】 :USE 〈数据库名〉[ALIAS〈别名〉]
【功能】 :打开数据库文件并为该数据库起一个别名。
【说明】给数据库起了别名后,数据库名就不是默认的别名了。
3)工作区的选择
当系统启动时,1号工作区是当前工作区,若想改变当前工作区,则可使用SELECT命令来转换当前工作区。
【命令格式】:SELECT<工作区号>/<工作区别名>
【功能】:选择一个工作区作为当前工作区。
【说明】:
.... <工作区号> | <工作区别名>:指定当前工作区。选择工作区时,可以直接指定区号,也可以通过别名指定工作区,二者是等效的。
.... 别名可以是系统规定的别名,也可以是用户规定的别名,甚至可以用已打开的表名替代工作区别名。此命令允许选用“0”号工作区。如果指定“0”,则表示选用当前未使用过的编号最小的工作区作为当前工作区。
.... 执行该命令后,对任何工作区中的表及记录指针均不发生影响,仅实现各个工作区之间切换。
【例1】在1号和2号工作区内分别打开ST.DBF和SE.DBF表文件,并选择1号工作区为当前工作区。
SELECT 1 && 或 SELECT A
USE ST
SELECT 2
USE SE
SELECT 1
【例2】在1 号和2 号工作区打开STUD.DBF 和SC.DBF,在1 号工作区内查看当前记录的学号、姓名、性别、出生日期、课程号、成绩等字段内容。
SELECT A
USE STUD && 在一号工作区中打开STUD
SELECT B
USE SC && 在二号工作区中打开SC
SELECT A && 选择1 号工作区为当前工作区
DISPLAY 学号,姓名,性别,出生日期,B->课程号,SC.成绩
....
17. 表的关联
(1).关联的概述
所谓表文件的关联是把当前工作区中打开的表与另一个工作区中打开的表进行逻辑连接,而不生成新的表。当前工作区的表和另一工作区中的打开表建立关联后,当前工作区是表的记录指针移动时,被关联工作区的表记录指针也将自动相应移动,以实现对多个表的同时操作。
在多个表中,必须有一个表为关联表,此表常称为父表,而其他的表则称为被关联表,常称为子表。在两个表之间建立关联,必须以某一个字段为标准,该字段称为关键字段。表文件的关联可分为一对一关联、一对多关联和多对多关联。
(2).表文件关联的建立
1)一对一关联的建立
1)命令方式
【格式】SET RELATION TO [<关键字段表达式> | <数值表达式>] [INTO<别名> | <工作区号>] [ADDITIVE]
【功能】将当前工作区的表文件与<别名>(或工作区号)指定的工作区中的表文件按<关键字段表达式>或<数值表达式>建立关联。
【说明】
.... 当用<关键字段表达式>建立关联时,关键字必须是两个表文件共有字段,且别名表文件已按关键字段建立了索引文件,并已指定关键字段为主索引。
.... 当父表文件的记录指针移动时,子表文件的记录指针根据主索引文件指向关键字段值与父表文件相同的记录。如果子表中没有与关键字段值相同的记录,记录指针指向文件尾,EOF()为.T.。
.... 当按<数值表达式>建立关联时,别名表不需要打开索引文件,两个表文件按照记录号相联系,父表文件的记录指针移动时,子表文件的记录指针移至与数值表达式相等的记录上。若找不到此记录,记录指针指向文件尾,EOF()为.T.。
.... ADDITIVE:表示当前表与其他工作区表己有的关联仍有效,实现一个表和多个表之间的关联;否则取消当前表与其他工作区表已有的关联,当前表只能与一个表建立关联。
.... SET RELATION TO则表示取消当前工作区与其他工作区的关联。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |