当前位置:  开发笔记 > 后端 > 正文

ColdFusion并从MySQL获取数据

如何解决《ColdFusion并从MySQL获取数据》经验,为你挑选了3个好方法。

我正在CF站点上工作,需要从MySQL表中获取数据.

我可以创建CFQuery并检查返回的记录,但是如何获取返回的记录并循环遍历它们并从每行的特定字段获取数据.

我可以写if if/end if等,我只是不记得如何访问数据.

-Jason



1> Sam Farmer..:

假设您使用firstname列创建了一个名为the_query的查询:


   #firstName# ... etc 



2> Peter Bought..:

所有现有的答案/评论似乎涉及不同方面,因此这是尝试将所有这些信息合并为一个明确的解释.
(此答案设置为社区维基 - 请根据需要进行编辑.)


要从查询中访问变量,请使用:

QueryName.ColumnName[RowNum]
QueryName["ColumnName"][RowNum]

这些都将在创建查询后的任何时候起作用.
两者都可以在里面cfoutput用来显示变量,或者在里面cfset用来分配变量.

第二个对动态变量很有用,可以接受如下变量:

QueryName[DynamicColumnName][RowNum]
QueryName["Partial#DynamicName#"][RowNum]
QueryName["Partial"&DynamicName][RowNum]

为方便起见,不要手动循环查询:


    #QueryName.ColumnName[CurrentRow]#

你可以简单地做:


    #QueryName.ColumnName[CurrentRow]#

作为进一步的捷径,您可以:


    #QueryName.ColumnName[CurrentRow]#

而且,当你在一个或一个内部时,你可以简单地做:


    #ColumnName#

但是,最后一个快捷方式仅用于显示 - 如果您这样做:


这不会修改原始查询数据.相反,你需要做:


这将修改查询的结果(但不会修改数据库中的值).


要显示已运行的实际SQL查询,使用CF8(也是Railo和OpenBD),您可以执行以下操作:


它将向您显示查询结果和已运行的实际SQL.

要使用CF7显示实际的SQL,您需要result="QueryInfo"cfquery标记中添加一个,然后向您显示SQL.



3> Michael MacD..:

或者,您可以使用CFLOOP标记来达到类似的效果

比如说,您想要对数量大于零的行的"价格"字段求和.(想象一下购物车)



    
        
    

顺便说一句,在CFOUTPUT Query参数中不鼓励使用散列标记/井号/ octothorpes

[edit:]要转储查询堆栈的内容,请在""行之前添加到[cf_root]\wwwroot\WEB-INF\debug.cfm:


        
    
        
        
        
        
        #REReplaceNoCase(dump_content,"expand"">BODY[[:space:]]*[[:space:]]*","expand"">BODY
")#     
    

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有