`
zhonghua2412
  • 浏览: 22181 次
  • 性别: Icon_minigender_1
  • 来自: 大连
最近访客 更多访客>>
社区版块
存档分类
最新评论

cfloop优化

阅读更多

今天下午接到一个优化的任务,客户反映invite attendee to event 时,会有超时错误。我查了查代码,用的是cfloop,而且套用了3次。能不慢吗?!!


google一下,才知道cfscript 效率很好,(http://www.blue1000.com/bkhtml/2006-09/45939.htm).

 

<cfscript>
		for(i = 1; i lte ArrayLen(oneAccsIdList); i++){
		
			temp = oneAccsIdList[i];
			for(j = 1 ; j lte ArrayLen(accommodationList); j++){
				if(temp eq accommodationList[j]){
					stay = 1;
					break;
				}else{
					stay = 0;
				}
			}		
		
		
			for(j = 1 ; j lte ArrayLen(flightList); j++){
				if(temp eq flightList[j]){
					flight = "Y";
					break;
				}else{
					flight = "N";
				}
			}
			
			hasInvited = false;
			
			for(j=1; j lte cnt_idInEvent.RecordCount; j++)	{
				if (temp == cnt_idInEvent["CNT_ID"][j])
				{
				 	hasInvited = true;
					break;	
				}
			}
			
			if (!hasInvited){
					saveDetailObject(0,
								   eventId,								   
								   attendeeRole,
								   "IVT",					   
								   stay,								   
								   flight,
								   temp,
								   "",
								   "",
								   "",
								   "",
								   "");
					for(k = 1; k < checkSiteUser.recordCount; k++){
						if (temp == checkSiteUser["CNTCT_ID"][k]){
							if((checkSiteUser["CNFRMTN_STS"][k] eq "Y") && (checkSiteUser["ACCNT_STS"][k] eq "Active")){
								sendInvEmailByContactId(temp,eventName,eventDate,eventEndDate,checkSiteUser["email"][k]);
							}
						}						
					}
				
				}else{
						if(message neq ""){
							message = message&","&temp;
						}else{
							message = temp;
						}				
				}
		}
	</cfscript>

 

请注意:cfscript 内不能有任何coldfusion 标签,eg.cfquery,cfif...

但是query.recordCount好用。

 

分享到:
评论

相关推荐

    ColdFusion Tags参考手册(简体中文版)

    它可以遍历数组元素,如`&lt;cfloop array="#myArray#" index="i"&gt;...&lt;/cfloop&gt;`,或者基于查询结果,如`&lt;cfloop query="getUsers"&gt;...&lt;/cfloop&gt;`。 4. **条件语句:, &lt;cfelse&gt; 和 ** 这些标签用于条件判断。`&lt;cfif&gt;`...

    coldfusion标签

    - `&lt;cfloop&gt;`:循环结构,包括数组循环、查询循环等。如: ```coldfusion &lt;cfloop array="#myArray#" item="value"&gt; Value: #value# &lt;/cfloop&gt; ``` ### 3. 数据库交互标签 - `&lt;cfstoredproc&gt;`:调用存储...

    cf8_cfml_ref.pdf

    例如,`&lt;cfoutput&gt;`用于显示变量的值,`&lt;cfif&gt;`和`&lt;cfelse&gt;`用于条件判断,`&lt;cfloop&gt;`用于循环控制。 2. **变量** 在CFML中,变量的声明无需特定关键字,直接使用`var`即可。例如,`var myVar = "Hello, World!";`...

    cfml-fundamentals-course:这是一门学习CFML基础知识的课程

    如同其他编程语言,CFML包含条件语句(如`&lt;cfif&gt;`、`&lt;cfelse&gt;`、`&lt;cfelseif&gt;`)和循环语句(如`&lt;cfloop&gt;`)。这些用于根据特定条件执行代码或重复执行某部分代码。 5. 函数和方法: CFML提供了丰富的内置函数,如`...

    coldfusion

    2. **CFML语法**:CFML支持多种标签,如`&lt;cfquery&gt;`用于执行SQL查询,`&lt;cfoutput&gt;`用于输出数据,`&lt;cfif&gt;`和`&lt;cfelse&gt;`用于条件判断,`&lt;cfloop&gt;`用于循环。了解这些基本标签是学习ColdFusion的基础。 3. **数据库...

    ColdFusion参考手册

    5. **&lt;cfloop&gt;** - 循环控制结构,包括基于索引、数组、集合和查询的循环,常用于迭代操作。 6. **** - 用于引入其他ColdFusion或HTML文件,实现代码复用和模块化。 7. **** - 发送电子邮件的标签,可以设置发件人...

    ColdFusion Tags标签

    - `&lt;cfloop&gt;`:类似于其他编程语言的循环结构,如for和while循环,可以遍历数组、集合或查询结果。 - `&lt;cfif&gt;`和`&lt;cfelse&gt;`:用于条件判断,根据指定条件执行不同的代码块。 - `&lt;cfswitch&gt;`和`&lt;cfcase&gt;`:提供多...

Global site tag (gtag.js) - Google Analytics