ColdFusion inital de la valeur de currentrow lorsque aucun index spécifié dans cfloop
Je suis la conversion d'une application ColdFusion pour C# (je suis un CF n00b).
J'ai un script qui effectue un cfquery et puis cfloop à travers les résultats, et il semble être d'essayer de comparer la ligne actuelle à sa ligne suivante. Et il semble être essayer de s'assurer qu'elle ne marche pas, essayez de lire après la fin du tableau.
<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]>
Il se sent comme currentrow est de base 1 (currentrow aura une valeur de 1 quand il est entré dans l'cfloop). Suis-je la corriger? J'ai regardé dans la documentation coldfusion et je ne vois rien à ce sujet.
OriginalL'auteur Rick Hodder | 2013-01-08
Vous devez vous connecter pour publier un commentaire.
Oui, les requêtes et les matrices FC 1.
La CurrentRow et RecordCount variables sont des propriétés de la requête (à l'intérieur d'une requête en boucle, ils sont automatiquement étendue).
<cfloop query="QueryName">...</cfloop>
en boucle à travers l'intégralité de la requête*, de 1 àQueryName.RecordCount
, et laQueryName.CurrentRow
index est automatiquement renseigné/incrémenté. Sa valeur d'avant la requête de la boucle n'est pas utilisé.*(sauf cfbreak/etc utilisés)
Également à souligner, il n'est généralement pas nécessaire pour empêcher la lecture-delà de la fin (comme ci-dessus, la requête poignées en forme de boucle), c'est seulement parce CurrentRow+1 est utilisée que c'est nécessaire pour éviter une erreur.
OriginalL'auteur Peter Boughton
Question d'origine est pour les requêtes. CFloop par le biais de réseaux n'ont pas de currentRow attribut. Solution intéressante si vous souhaitez utiliser l'indice de boucle d'attribut à tenir l'élément de tableau plutôt que de suivre un "currentRow" contre
from="1" to="#arrayLen(myArray)#" index="currentRow"
La
currentRow++
les deux sorties de la valeur actuelle de la variable, puis incrémente il est synonyme, pour le codage<cfset currentRow=currentRow+1>
au bas de la boucle.OriginalL'auteur gordon