cursor()

阅读(3772) 标签: 生成游标, 路径,

描述:

调用网格文件,将执行程序后return的结果集生成游标返回。

语法:

cursor(dfx,…)

备注:

调用网格文件,将执行程序后return的结果集生成游标返回。dfx中有多个return时,先合并多个return的结果集,再将合并后的结果集返回成游标,dfx中所有的return的结果集必须具有相同的数据结构,否则报错。

查找dfx时可以使用绝对路径,也可以使用相对路径,相对路径时的搜索顺序为类路径-寻址路径-主目录。

该函数返回的游标不可回转。

参数:

dfx

网格文件名称。

dfx的参数。

选项:

@c

dfx可以是单元格,对应由func定义的子程序。

返回值:

游标

示例:

主目录下test.dfx网格文件内容如下,arg1为网格参数:

 

A

B

 

1

for arg1

 

 

2

 

=connect("demo").query("select * from GYMNASTICSWOMEN where ID=?",A1)

 

3

 

=B2.derive(avg(VAULT,UNEVENBARS,BALANCEBEAM,FLOOR):Average)

 

4

 

return B3

循环计算并return结果集。

 

 

A

 

1

=[5,10,20,25]

 

 

2

=cursor("test.dfx",A1)

调用test.dfx,将A1中的序列作为参数arg1的值传递进去,结果返回游标。

3

=A2.fetch()

从游标中获取记录,可以看到,结果为test.dfx中各次循环计算后return的结果集的并集。

4

=call("test.dfx",A1)

对比使用call函数调用test.dfx,最终只返回第一次循环中return的结果集。

 

 

A

B

 

1

func

 

 

2

 

return A1.sum()

 

3

=cursor@c(A1,[2,5,7])

 

调用以A1为主格的代码块。

4

=A3.fetch()

 

14