【文件属性】:
文件名称:对宿主语言变量赋值-[more.exceptional.c++
文件大小:10.1MB
文件格式:PDF
更新时间:2021-07-09 12:08:31
数据库
这里考虑如何把 #EF 和它的宿主语言(G HH )相连。
(6)对宿主语言变量赋值
传统 IEF 需要在元组分量和宿主语言变量之间传递数据,而 #EF 则不同,可
以很方便地把表达式的结果值赋给任何合适类型的宿主语言变量。
例 &"!’ 检索大于 J8 岁的教师可用下列语句:
I3F3GK !
!"#$ !/L=4,- !
123"3 !. /M) N J8;
这个查询结果的类型是 +), 5 !/L=4,- N 。如果 >4O!/L=4,’)+ 是同类型的宿主语言变
量,那么用扩充了 #EF 的 G HH 可以写成下列形式:
>4O!/L=4,’)+ D I3F3GK !
!"#$ !/L=4,- !
123"3 !. /M) N J8;
并且 >4O!/L=4,’)+ 的值将成为这些 !/L=4,- 对象的集合。 !
(P)从聚集中提取元素
获取集合或者包的每个成员是比较复杂的,但比传统 IEF 基于游标的方法要
简单。首先,我们需要把集合或者包转换成列表,这可以用带 #"Q3" ;< 子句的方
法(见前面例 RSPT 的!)。
例 &"!( 检索大于 J8 岁的教师,要求查询结果按工资、年龄降序排列,可用下
列语句实现:
0/L=4,-F’+, D I3F3GK !
!"#$ !/L=4,- !
123"3 !. /M) N J8
#"Q3" ;< !. +/4/*- Q3IG,!. /M) Q3IG;
该语句将把按工资、年龄降序排列的所有 !/L=4,- 对象的列表赋给宿主语言变量
0/L=4,-F’+,。 !
我们一旦得到了一个列表,不管是排序的还是没有排序的,就可以用序号访问
每个元素;列表 F 的第 ! 个元素可以用 F[ ! U 6]得到。这里假定与 G 或 G H H 一
7VWRST #Q$9 PS8 标准