首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > PB >

数据量大,数据窗口以rows as needed 方式 retrieve后,立刻用setfilter(条件),查不到数据?解决方法

2012-03-20 
数据量大,数据窗口以rows as needed 方式 retrieve后,立刻用setfilter(条件),查不到数据?我的数据量有20万

数据量大,数据窗口以rows as needed 方式 retrieve后,立刻用setfilter(条件),查不到数据?
我的数据量有20万
,如果不用ROWS   AS   NEEDED   太慢了.
可是用了ROWS   AS   NEEDED,后立刻用SETFILTER(条件)进行过滤
结果没有数据.

如果去掉ROWS   AS   NEEDED   后用SETFILTER(条件)就有数据.

可是一开始就去掉ROWS   AS   NEEDED   ,RETRIEVE速度太慢.
但是用上ROWS   AS   NEEDED   后,马上SETFILTER()又得不到正确结果.


怎么办?

[解决办法]
如用ROWS AS NEEDED 就不能SETFILTER了

因为ROWS AS NEEDED的话呢,本地数据是不全的!无法全用filter

可以加参数,dw_1.retireve(xxx);

或构造一个有where 条件的SQL语句,
dw_1.setsqlselect(sqlstr)



[解决办法]
楼上的方法可以
如果必须ROWS AS NEEDED
过滤前先做个排序,
setredraw(false)//加速
setsort( '…… ')
sort()
setredraw(true)
然后再过滤

热点排行