sql – Coldfusion – 循环数据库查询结果时的变量字段名称
发布时间:2020-12-12 06:43:46 所属栏目:MsSql教程 来源:网络整理
导读:我在表格中有一组列名称 – 例如foo1,foo2,foo3,foo4.我想通过循环动态引用这些列名: cfloop index="i" from="1" to="4" cfset foo = Evaluate("query.foo" i)/cfloop 以上操作无效 – 即使query.foo1是对查询结果的有效引用,ColdFusion也会抛出“未定义的变
我在表格中有一组列名称 – 例如foo1,foo2,foo3,foo4.我想通过循环动态引用这些列名:
<cfloop index="i" from="1" to="4"> <cfset foo = Evaluate("query.foo" & i)> </cfloop> 以上操作无效 – 即使query.foo1是对查询结果的有效引用,ColdFusion也会抛出“未定义的变量”错误.我怎么能这样做? 解决方法不要对这样的事情使用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访问Query对象时,必须附加(从1开始的)行号索引(query [“foo#i#”] [RowNum]).使用传统的“dot”-syntax(query.foo1)时,当前行是隐式的. 要显式访问当前行,请使用QueryObject.CurrentRow属性.但它可以是QueryObject.RecordCount之前的任何正整数.除了CurrentRow之外,建议进行范围检查. 这将打开一个有趣的领域:您可以开始使用“随机访问”查询对象.以前(在CFMX之前)你所能做的只是从头到尾迭代它们,拉出你要找的东西.现在它就像一个嵌套的结构/数组数据结构,您可以以不同的方式使用它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |