为什么cfoutput被忽略



我有一个非常简单的CFML页面,如下所示:

<cfquery name="qry" datasource="#application.db.source#" username="#application.db.user#" password="#application.db.pass#">
SELECT * FROM changemgmt.rfc WHERE rfc_id = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="0">;
</cfquery>

<cfoutput query="qry">
#qry.RecordCount#
</cfoutput>

我的<cfoutput>标记没有按预期工作。如果您查看这个页面的源代码,它将完全由空行组成。就好像服务器正在解析<cfoutput>标记一样。但是,如果我将代码更改为:

<cfoutput>
#qry.RecordCount#
</cfoutput>

我使用Lucee作为我的后端CFML引擎。有人能向我解释为什么会有区别吗?

<cfoutput query="qry">这用于循环抛出查询中的所有行。如果查询结果没有行,则执行永远不会到达<cfoutput query="qry">中的登录。但是,如果结果中有1+n行,则代码将打印记录计数1+n次。

在这种情况下,如果您只想打印结果的记录计数,那么您只需要使用<cfoutput>#qry#</cfoutput>

但是,如果您想打印查询的每一行的值,那么您可以使用<cfoutput query="qry">

<cfoutput query="qry">
<div>
<span>#qry.rfc_id#</span>
<span>#qry.name#</span>
...
</div>
</cfoutput>

相关内容

  • 没有找到相关文章

最新更新