点击或拖拽改变大小

Functions.DbRelation 方法

X#
返回指定关系的链接表达式。

命名空间:  XSharp.RT
程序集:  XSharp.RT (在 XSharp.RT.dll 中) 版本:2.22 GA
语法
 FUNCTION DbRelation(
	nRelation
) AS STRING CLIPPER
查看代码

参数

nRelation (Optional)
类型:__Usual
所需关系在当前工作区关系列表中的位置。
关系按照通过关系设置定义的顺序进行编号。

返回值

类型:String
nRelation 定义的链接表达式。
如果 nRelation 没有设置关系,DBRelation() 返回 NULL_STRING。
备注
DBRelation() 是一个数据库函数,用于确定现有关系的链接表达式和工作区。 DBRelation() 返回由 TO 子句定义的链接表达式。DBRSelect() 返回由 INTO 子句定义的链接工作区。 默认情况下,此函数在当前选定的工作区上操作。
可以通过在别名表达式中指定来使其在未选定的工作区上操作。
提示 提示:
声明变量: 如果原始表达式包含对局部或静态变量的引用,或者依赖于编译时声明,则由 DBRelation() 返回的字符串在使用宏运算符 (&) 重新编译和执行时无法正确运行。
示例
此示例打开三个数据库文件,从父工作区设置两个子关系,然后显示到第二个子工作区的链接表达式:
X#
1USE invoices INDEX invoices NEW
2USE backorder INDEX backorder NEW
3USE customer INDEX customer NEW
4SET RELATION TO custnum INTO invoices, OrderNum ;
5        INTO backorder
6QOut(DBRelation(2))                // 结果:Ordernum
之后,您可以使用别名表达式从未选择的工作区查询相同的链接表达式,如下所示:
X#
1USE archive NEW
2QOut(Customer->DBRelation(2))
3// 结果:OrderNum
这个示例是一个函数 Relation(),它将 DBRelation() 和 DBRSelect() 的结果作为数组返回:
X#
1FUNCTION Relation(nRelation)
2    RETURN {;
3                DBRelation(nRelation), ;
4                Alias(DBRSelect(nRelation)) ;
5            }
参见