使用查询作为 cffunction 的参数
using a query as an argument to a cffunction
我想将查询作为参数传递给函数。
根据 docs 您可以将查询指定为参数类型。
但是,当我尝试这样做时:
<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>
我收到以下错误:
The parameter SELECT to function phonebookQuery is required but was not passed in.
我是 CF 的新手,我正在使用 CF MX 7。
我发布的问题版本实际上并不是源文件中函数的副本。源代码中的函数实际上有一些被注释掉的 <cfargument>
标签(第一个是 name="select"
)。
我是这样评论它们的:<!-- a comment -->
这在我的语法荧光笔中触发了适当的响应,但 ColdFusion 仍在尝试执行这些行。
我想将查询作为参数传递给函数。
根据 docs 您可以将查询指定为参数类型。
但是,当我尝试这样做时:
<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>
我收到以下错误:
The parameter SELECT to function phonebookQuery is required but was not passed in.
我是 CF 的新手,我正在使用 CF MX 7。
我发布的问题版本实际上并不是源文件中函数的副本。源代码中的函数实际上有一些被注释掉的 <cfargument>
标签(第一个是 name="select"
)。
我是这样评论它们的:<!-- a comment -->
这在我的语法荧光笔中触发了适当的响应,但 ColdFusion 仍在尝试执行这些行。