Coldfusion 将查询用作CFF函数的参数
我想将查询作为参数传递给函数 根据,可以将查询指定为参数类型 但是,当我尝试这样做时:Coldfusion 将查询用作CFF函数的参数,coldfusion,cffunction,Coldfusion,Cffunction,我想将查询作为参数传递给函数 根据,可以将查询指定为参数类型 但是,当我尝试这样做时: <cfquery name="share_types_query" datasource="phonebook"> SELECT share_loan_type, share_loan_description FROM shareloantypes WHERE share_loan='S' ORDER BY share_loan_type </
<cfquery name="share_types_query" datasource="phonebook">
SELECT share_loan_type, share_loan_description
FROM shareloantypes
WHERE share_loan='S'
ORDER BY share_loan_type
</cfquery>
<cfscript>
phonebookQuery(share_types_query, "SHARE_TYPES");
</cfscript>
<!--function to take a query and turn the result into a JSON string-->
<cffunction name="phonebookQuery" access="public" returnType="void">
<cfargument name="query" type=query required="yes">
<cfargument name="jsVar" type=string required="yes">
<cfset json = "[ "/>
<cfloop query="query">
<cfset json = json & "{ "/>
<cfset i=1/>
<cfloop list="#arrayToList(query.getColumnList())#" index="col">
<cfset json = json & '"#col#"' & ": "/>
<cfset json = json & '"' & query[col][currentRow] & '"'/>
<cfif i lt ListLen(query.columnList)>
<cfset json = json & ", "/>
</cfif>
<cfset i= i+1/>
</cfloop>
<cfset json = json & " }"/>
<cfif currentRow lt recordCount>
<cfset json = json &","/>
</cfif>
</cfloop>
<cfset json = json & " ]"/>
<script type="text/javascript">
<cfoutput>
var #toScript(json,Arguments.jsVar)#;
</cfoutput>
</script>
</cffunction>
我对CF非常陌生,我使用CF MX 7 我发布的问题版本实际上不是源文件中函数的副本。源代码中的函数实际上有一些标记,第一个标记是name=select,被注释掉了
我这样评论它们:这在我的语法highlighter中触发了适当的响应,但ColdFusion仍在尝试执行这些行 看起来CF正在调用另一个函数,而不是您发布的函数,因为您发布的函数没有。这可能是因为缓存和以前的phonebookQuery有一个SELECT param?Off主题,但如果您可以升级到9+版本或Lucee,您将处于一个更好的位置。然后,您可以让ColdFusion为您构建JSON。我知道你可能没有这个选择。我同意@Henry。您发布的代码不是出错的代码。@Henry实际上有一个旧版本的函数使用了名为select的参数。也许是这样。我得等到明天上班才能知道。OT:cfset标签不需要关闭。看起来打字错误ColdFusion仍在尝试执行这些行是的。这个很高兴你明白了,但下次。。请发布引发错误的实际代码:
The parameter SELECT to function phonebookQuery is required but was not passed in.