| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1062 人关注过本帖
标题:[求助]关于VFP中一个逻辑判断的语句,难倒VFP本身有BUG?
取消只看楼主 加入收藏
iori2iori2
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-7-30
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:4 
[求助]关于VFP中一个逻辑判断的语句,难倒VFP本身有BUG?
例如:
表1:字段(姓名,生日,号码)    其中“号码”为数值型
表2:字段(姓名,生日,标识)    其中“标识”为数值型,初始全为0
以上两个自由表。
本人编制以下程序,实现在表2中找出与表1中“姓名”相同的并且“号码”数大于50的人,在表2相应位置将“标识”替换为 1:
select 表1
do while .not. eof()
    select 表2
    replace all 标识 with 1 for alltrim(姓名) = alltrim(表1.姓名) .and. 表1.号码 > 50
    select 表1
    skip
enddo
一个很简单的循环查找功能。本人初学VFP用的6.0,练习时发现一个问题:
这句语句:replace all 标识 with 1 for alltrim(姓名) = alltrim(表1.姓名) .and. 表1.号码 > 50
如果换为:replace all 标识 with 1 for alltrim(表1.姓名) = alltrim(表2.姓名) .and. 表1.号码 > 50
查找结果会出错,有一个满足条件的记录会不标记,也就是查找结果少1个人!!!
为什么“alltrim(表1.姓名) = alltrim(表2.姓名)”与 “alltrim(表2.姓名) = alltrim(表1.姓名)”的逻辑判断会不同? 难倒VFP本身在逻辑判断上有漏洞?
不过按说这么有名的编程软件不该有漏洞啊。
以上疑惑不懂,请高手指点。


[ 本帖最后由 iori2iori2 于 2011-7-30 16:37 编辑 ]
搜索更多相关主题的帖子: 标识 姓名 while 
2011-07-30 16:34
iori2iori2
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-7-30
收藏
得分:0 
哦,多谢!我看的教材比较薄,基本都是例子。
原来还可以用“==”来比较啊,我还没见过这样的VFP程序示例呢。
下面的图片也很给力!
谢谢!
2011-07-30 16:57
iori2iori2
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-7-30
收藏
得分:0 
不过还有个疑问: alltrim()以后,字符串不是等长的吗?
2011-07-30 16:58
iori2iori2
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-7-30
收藏
得分:0 
多谢 TonyDeng
那么RUSHMORE优化在哪里关闭啊?
2011-07-30 17:18
iori2iori2
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2011-7-30
收藏
得分:0 
多谢指点,受益匪浅!
2011-07-30 17:25
快速回复:[求助]关于VFP中一个逻辑判断的语句,难倒VFP本身有BUG?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021386 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved