7.10.3在循环中返回数据的网格

当跨网游标中需要返回大量数据时,可以通过返回多个结果的方式,逐步用return返回结果,由主网格将它们合并。但是,处理大数据时,更为常用的方法是使用游标,在被调用的网格中通过循环逐步返回游标中的数据,在主网格读取数据时会自动将结果合并。如D:\files\Order1.dfx如下:

 

A

B

1

=file("Order_Books.txt")

=A1.cursor@t()

2

for B1,5000

return A2

A2中循环读取游标中的数据,然后在B2中用return返回每一次fetch的结果构成的序表,而不是前面例子中那样一次返回所有的序表或排列。

在主网格中,跨网游标的使用和前面的方法是完全相同的:

 

A

1

=cursor("Order1.dfx")

2

=A1.fetch(1000)

3

>A1.close()

跨网游标返回的数据较多,在A2中仅读出前1000条如下:

由于数据未全部读完,因此在A3中关闭游标。当跨网游标被关闭时,被调用网格中的游标也会被关闭。

在返回游标时,也可以用多个return返回多个结果,此时各个游标中的数据也会被拼接在一起读出,与返回多个排列时的情况一样。因此,多个游标中的数据也需要具有相同的数据结构。