cfloop 中未指定索引时当前行的 ColdFusion 初始值

标签 coldfusion coldfusion-9 cfquery

我正在将 ColdFusion 应用程序转换为 C#(我是 CF n00b)。

我有一个脚本执行 cfquery,然后执行 cfloop 的结果,它似乎试图将当前行与其下一行进行比较。它似乎试图确保它不会尝试读取数组的末尾。

<cfquery name="qTripLegs" datasource="#sdb#">
   SELECT ...
</cfquery>

<cfloop query="qTripLegs">
    <cfif (customs_stop[currentrow] NEQ "" OR fuel_stop[currentrow] NEQ "") AND recordcount GT currentrow AND departure[currentrow] NEQ arrival[currentrow+1]>

感觉 currentrow 是基于 1 的(currentrow 在第一次进入 cfloop 时的值为 1)。我对么?我查看了 Coldfusion 文档,但没有看到任何关于此的信息。

最佳答案

是的,CF 中的查询和数组是基于 1 的。

CurrentRow 和 RecordCount 变量是查询的属性(在查询循环中,它们自动限定范围)。
<cfloop query="QueryName">...</cfloop>将遍历整个查询*,从 1 到 QueryName.RecordCount ,以及 QueryName.CurrentRow索引会自动适本地填充/增加。不使用查询循环之前的值。

*(除非使用 cfbreak/etc)

另外要指出的是,通常不需要阻止读取结束(如上所述,查询循环处理它),这只是因为正在使用 CurrentRow+1 才需要避免错误。

关于cfloop 中未指定索引时当前行的 ColdFusion 初始值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14225655/

相关文章:

windows - ubuntu 上的 cfdirectory 在 windows 上访问 smbfs 的奇怪问题

struct - ColdFusion 中 cfcatch 的类型

coldfusion - 如何在 ColdFusion 中运行多线程

arrays - Coldfusion 将一个阵列一分为二

sql-server - 使用 CFINSERT 后获取主键 - ColdFusion

eclipse - 检查ColdFusion 的样式?

java - 将自动发现 (EWS API) 与 Coldfusion 结合使用

session - 在调度程序中运行时 Coldfusion 9 session 变量错误

excel - 使用 Coldfusion 导入 Excel - 接收奇怪的日期格式 mm\/dd\/yyyy

coldfusion - 在循环中组合查询行