当跨网游标中需要返回大量数据时,可以通过返回多个结果的方式,逐步用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返回多个结果,此时各个游标中的数据也会被拼接在一起读出,与返回多个排列时的情况一样。因此,多个游标中的数据也需要具有相同的数据结构。