queryExecute(sql_statement[, queryParams][, queryOptions])
Last updated September 22, 2014
Version: 1 | Requires: CF9 | Library: CFMLLib
Description:
Include a cfm with this function if server.coldfusion.productVersion is 9 or 10.
Return Values:
Returns a query.
Example:
QueryExecute ("select from Employees where empid=1");
QueryExecute("select from Employee where country=:country and citizenship=:country", {country='USA'});
More example: https://wikidocs.adobe.com/wiki/display/coldfusionen/QueryExecute
Parameters:
Name | Description | Required |
---|---|---|
sql_statement | SQL. | Yes |
queryParams | Struct of query param values. | No |
queryOptions | Query options. | No |
Full UDF Source:
<!---
Backport of QueryExecute in CF11 to CF9 & CF10
@param sql_statement SQL. (Required)
@param queryParams Struct of query param values. (Optional)
@param queryOptions Query options. (Optional)
@return Returns a query.
@author Henry Ho (henryho167@gmail.com)
@version 1, September 22, 2014
--->
<cffunction name="QueryExecute" output="false"
hint="
* result struct is returned to the caller by utilizing URL scope (no prefix needed) *
https://wikidocs.adobe.com/wiki/display/coldfusionen/QueryExecute">
<cfargument name="sql_statement" required="true">
<cfargument name="queryParams" default="#structNew()#">
<cfargument name="queryOptions" default="#structNew()#">
<cfset var parameters = []>
<cfif isArray(queryParams)>
<cfloop array="#queryParams#" index="local.param">
<cfif isSimpleValue(param)>
<cfset arrayAppend(parameters, {value=param})>
<cfelse>
<cfset arrayAppend(parameters, param)>
</cfif>
</cfloop>
<cfelseif isStruct(queryParams)>
<cfloop collection="#queryParams#" item="local.key">
<cfif isSimpleValue(queryParams[key])>
<cfset arrayAppend(parameters, {name=local.key, value=queryParams[key]})>
<cfelse>
<cfset var parameter = {name=key}>
<cfset structAppend(parameter, queryParams[key])>
<cfset arrayAppend(parameters, parameter)>
</cfif>
</cfloop>
<cfelse>
<cfthrow message="unexpected type for queryParams">
</cfif>
<cfif structKeyExists(queryOptions, "result")>
<!--- strip scope, not supported --->
<cfset queryOptions.result = listLast(queryOptions.result, '.')>
</cfif>
<cfset var executeResult = new Query(sql=sql_statement, parameters=parameters, argumentCollection=queryOptions).execute()>
<cfif structKeyExists(queryOptions, "result")>
<!--- workaround for passing result struct value out to the caller by utilizing URL scope (no prefix needed) --->
<cfset URL[queryOptions.result] = executeResult.getPrefix()>
</cfif>
<cfreturn executeResult.getResult()>
</cffunction>
Search CFLib.org
Latest Additions
Raymond Camden added
QueryDeleteRows
November 04, 2017
Leigh added
nullPad
May 11, 2016
Raymond Camden added
stripHTML
May 10, 2016
Kevin Cotton added
date2ExcelDate
May 05, 2016
Raymond Camden added
CapFirst
April 25, 2016