专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > VFP

一直没注意的有关问题,set filter to 的同步执行

发布时间:2010-05-24 21:39:57 文章来源:www.iduyao.cn 采编人员:星星草
一直没注意的问题,set filter to 的同步执行
很简单的两句话

USE fgb
SET FILTER TO grade=4
?teacher
?teacher

第一行显示的是整个表首记录 teacher 字段
第二行显示的才是过滤后的符合条件的字段

看来set filter 也需要时间,可怎么处理这个问题呢?我需要类似同步执行的方式,set filter耗时不会太多,我可以等待啊

------解决方案--------------------
不是时间的问题,set filter to ... 而未执行任何与记录指针有关的操作命令前,记录指针不会指向正确的位置

USE fgb
SET FILTER TO grade=4
inkey(3600) && 你就是等上一个小时也一样
?teacher

应该这样
USE fgb
SET FILTER TO grade=4
locate && 或者 goto top
?teacher

------解决方案--------------------
不是耗时,是 SET FILTER TO grade=4 并不改变当前记录。
------解决方案--------------------
如果只是
USE fgb
SET FILTER TO grade=4
?teacher
?teacher

2次的值肯定是一样,除非执行了改变记录的操作。
------解决方案--------------------
set filter to grade=5
go top && 需要重新定位一下数据库,我都是这样,没问题的!
?teacher

------解决方案--------------------
建议楼主,及时结贴,让【待解决】贴子少一点。
------解决方案--------------------
set filt to 命令后,必须进行指针移动才使筛选生效
------解决方案--------------------
手册中已经说的很清楚了


set filter 命令
请参阅

指定访问当前表中记录时必须满足的条件。

语法

SET FILTER TO [lExpression]

参数
lExpression

指定记录必须满足的条件。
如果当前表在 lExpression 中指定的一个或多个字段上建立了索引,Visual FoxPro Rushmore 技术会优化基于这个或这些字段的查询。

说明

如果使用 set filter 命令,则表中只有满足逻辑表达式 lExpression 指定的条件的记录才可以被访问。所有访问该表的命令都必须遵守 SET FILTER 指定的条件。对于每个打开的表,都可以设置单独的筛选条件。
只有当记录指针在表中移动时,才计算由 SET FILTER 指定的条件。
不带 lExpression 发出 SET FILTER TO 命令将关闭当前表的选择器。
注意:SELECT - SQL 不遵守当前的筛选条件。
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: