我想在CF中编写一个函数,该函数具有返回多列的查询。我研究并阅读,仅能找到带有sql查询的函数示例,仅返回结构的表视图。
我该如何使用SQL查询在CF中编写函数并以文本格式输出每一列
我一直在搜索它,并在教程网站上浏览,没有运气
<cffunction name="queryListEmployee" returntype="query" output="false">
<cfargument name="EMPID" type="numeric" default="1"/>
<cfset var listEmployee = ""/>
<cfquery name="local.listContractors" datasource="DB">
SELECT E.FIRSTNAME, E.LASTNAME
FROM EMPLOYEE E
WHERE E.ID = <cfqueryparam value="#arguments.EMPID#" cfsqltype="cf_sql_decimal" scale="0"/>
</cfquery>
<cfreturn local.listEmployee/>
我希望能够输出queryListEmployee.firstname
和queryListEmployee.lastname
之类的列名
答案 0 :(得分:7)
您的想法正确。只是一些调整:
<cffunction name="getEmployeeByID" returntype="query" output="false">
<cfargument name="EMPID" type="numeric" default="1"/>
<cfquery name="local.employee" datasource="DB">
SELECT E.FIRSTNAME, E.LASTNAME
FROM EMPLOYEE E
WHERE E.ID = <cfqueryparam
value="#arguments.EMPID#"
cfsqltype="cf_sql_integer"/>
</cfquery>
<cfreturn local.employee/>
</cffunction>
然后按如下所示调用此函数:
<cfset qEmployee = getEmployeeByID(1)>
并像这样输出数据:
<cfoutput query="qEmployee">
<li>#qEmployee.FIRSTNAME# #qEmployee.LASTNAME#</li>
</cfoutput>
此函数将仅返回一条记录。您可以搜索并找出如何动态调整搜索条件以返回多个记录。
您可以查看http://www.learncfinaweek.com/来了解更多ColdFusion的基础知识。