Могу ли я вернуть столбцы в текстовой форме из функции с SQL-запросом в Coldfusion - PullRequest
0 голосов
/ 29 мая 2019

Я хочу написать функцию в CF, которая имеет запрос, который возвращает несколько столбцов.Я исследовал и прочитал и мог только найти примеры функций с SQL-запросами, только возвращающими табличное представление структуры.

Как мне написать функцию на CF с sql-запросами и вывести каждый столбец в текстовом формате

Я гуглял по ней и смотрел учебные сайты, не повезло

<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

1 Ответ

7 голосов
/ 29 мая 2019

Вы поняли идею правильно. Всего несколько настроек:

<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.

...