| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1123 人关注过本帖
标题:循环填数问题
只看楼主 加入收藏
hgfeng1984
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:139
专家分:513
注 册:2006-3-26
收藏
得分:0 
和SQL里的CASE以及VFP中的IIF函数类似.
        Visual FoxPro 9.0 语言参考  
ICASE( ) 函数  
请参阅 示例  
 全部折叠 全部展开  
从一连串条件中计算结果。
 
  
ICASE( lCondition1, eResult1 [, lCondition2, eResult2] ...  
   [, eOtherwiseResult])
  
 
   
 
参数
lCondition  
 
指定一个作为逻辑表达式被计算的条件。如果 lCondition 计算为假(.F.),ICASE( ) 继续计算下一个条件并为计算为真(.T.)的条件返回相应的 eResult。如果 lCondition 计算为空(.NULL.),Visual FoxPro 对待 lCondition 作为它计算为假(.F.)。  
eResult  
 
指定如果 lCondition 计算为真(.T.)时的返回结果。  
eOtherwiseResult  
 
包含如果所有条件都计算为假(.F.)时返回的结果。  
返回值
一旦 lCondition 计算为真(.T.),ICASE( ) 就返回当前第一个 eResult。
 
如果所有条件都计算为假(.F.),ICASE( ) 返回 eOtherwiseResult。
 
如果省略 eOtherwiseResult,并且所有的条件都计算为假(.F.),则 ICASE( ) 返回空(.NULL.)。
 
解释
必须总是两个一组地传递参数给 ICASE( )。如果传递了一个奇数数量的参数,则最后一个参数被当作 eOtherwiseResult 返回值。
 
ICASE( ) 最多可以传递 100 对参数。
 
如果在筛选表达式中使用一个长的 ICASE( ) 表达式,象在一个 FOR 或 WHERE 子句中,确保 SYS(3055) 设置到一个适当的复杂性层次以避免发生错误。更多的信息,请参见 SYS(3055) - FOR 和 WHERE 子句的复杂性。
 
 
示例
下面的例子示范了使用 ICASE( ) 计算表达式并返回基于哪些表达式结果特定值的不同情况。
 
下面的代码行显示"First is true",因为第一个表达式计算为真(.T.)。
 
  复制代码  
? ICASE(1+1=2,"First is true",1+1=3,"Second is false","None are true")
  
 
下面的代码行显示"Second is true",因为第一个表达式计算为假(.F.),但第二个表达式计算为真(.T.)。
 
  复制代码  
? ICASE(1+2=2,"First is false",1+2=3,"Second is true","None are true")
  
 
下面的代码行显示"None are true",那是被指定的最后结果,因为第一个和第二个表达式都计算为假(.F.)。
 
  复制代码  
? ICASE(1+2=2,"First is false",1+1=3,"Second is false","None are true")
  
 
请参阅
其他资源
IIF( ) 函数
EVALUATE( ) 函数
EVL( ) 函数
函数
2009-10-14 14:08
快速回复:循环填数问题
数据加载中...
 
   



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

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