Evaluate()
का उपयोग ऐसी चीजों के लिए न करें! यह धीमा है और should be avoided है।
<cfloop index="i" from="1" to="4">
<cfset foo = query["foo" & i][query.CurrentRow]>
</cfloop>
या, यदि आप चाहते:
<cfloop index="i" from="1" to="4">
<cfset foo = query["foo#i#"][query.CurrentRow]>
</cfloop>
Evaluate()
कोड के टुकड़े के मूल्यांकन के लिए है। उन चीज़ों के लिए इसका उपयोग न करें जिन्हें भाषा-एकीकृत, अधिक उपयुक्त तरीकों से अधिक सुन्दर तरीके से हल किया जा सके।
संपादित करें:
क्वेरी तक पहुँचने "कोण कोष्ठक" -syntax साथ वस्तुओं है, तो आप (1-आधारित) पंक्ति संख्या सूचकांक (query["foo#i#"][RowNum]
) संलग्न करना होगा। पारंपरिक "डॉट" -सिंटाक्स (query.foo1
) का उपयोग करते समय, वर्तमान पंक्ति निहित है।
वर्तमान पंक्ति को स्पष्ट रूप से एक्सेस करने के लिए, QueryObject.CurrentRow
संपत्ति का उपयोग करें। लेकिन यह QueryObject.RecordCount
तक कोई सकारात्मक पूर्णांक हो सकता है। CurrentRow
के अलावा किसी अन्य चीज़ के लिए एक श्रेणी की जांच की सलाह दी जाती है।
यह एक दिलचस्प फ़ील्ड खुलता है: आप "यादृच्छिक पहुंच" के साथ क्वेरी ऑब्जेक्ट्स का उपयोग शुरू कर सकते हैं। पहले (सीएफएमएक्स से पहले) आप जो कुछ भी कर सकते थे, उन्हें शुरू करने से शुरू करने के लिए उन्हें शुरू कर दिया गया था। अब यह एक नेस्टेड स्ट्रक्चर/सरणी डेटा संरचना की तरह है जिसे आप विभिन्न तरीकों से उपयोग कर सकते हैं।
दुर्भाग्य से, उन कार्यों में से कोई भी नहीं - कोल्डफ्यूजन मुझे बताता है "मान foo1 को किसी संख्या में परिवर्तित नहीं किया जा सकता है।" – ClairelyClaire
ओह, मैं देखता हूं। रुको, कोण ब्रैकेट सिंटैक्स के साथ क्वेरी पंक्तियों को कैसे संबोधित करें के बारे में थोड़ा सा पकड़ है। – Tomalak
मैं उस दस्तावेज़ में नहीं देख रहा हूं जिसमें आपने लिंक किया है - कोई सुझाव? – ClairelyClaire