QueryAddColumn |
Description
Adds a column to a query and populates its rows with the contents of a one-dimensional array. Pads query columns, if necessary, to ensure that all columns have the same number of rows.
Returns
The number of the column that was added.
Category
Query functions
Function syntax
    QueryAddColumn(query, column-name, array-name)
See also
QueryNew, QueryAddRow, QuerySetCell
History
ColdFusion MX: Changed behavior: if a user attempts to add a column whose name is invalid, ColdFusion throws an error. (In earlier releases, ColdFusion permitted the add operation, but the user could not reference the column after adding it.)
Parameters
Parameter | Description
query | Name of a query that was created with QueryNew.
column-name | Name of the new column.
array-name | Name of an array whose elements are to populate the new column.
Usage
You can add columns to query objects such as queries retrieved with the cfquery tag or queries created with the QueryNew function. You cannot us the QueryAddColumn function on a cached query.
Useful for generating a query object from the arrays of output parameters that Oracle stored procedures can generate.
Example
    <h3>QueryAddColumn Example</h3>
    <p>This example adds three columns to a query object and then populates
    the columns with the contents of three arrays.</p>
    <p>After populating the query, the example shows, in tabular format,
    the contents of the columns.</p>
    <!--- make a query --->
    <cfset myQuery = QueryNew("")>

    <!--- create an array --->
    <cfset FastFoodArray = ArrayNew(1)>
    <cfset FastFoodArray[1] = "French Fries">
    <cfset FastFoodArray[2] = "Hot Dogs">
    <cfset FastFoodArray[3] = "Fried Clams">
    <cfset FastFoodArray[4] = "Thick Shakes">

    <!--- add a column to the query --->
    <cfset nColumnNumber = QueryAddColumn(myQuery, "FastFood", FastFoodArray)>
    <!--- create a second array --->
    <cfset FineCuisineArray = ArrayNew(1)>
    <cfset FineCuisineArray[1] = "Lobster">
    <cfset FineCuisineArray[2] = "Flambe">
    <!--- add a second column to the query --->
    <cfset nColumnNumber2 = QueryAddColumn(myQuery, "FineCuisine",
    FineCuisineArray)>

    <!--- create a third array --->
    <cfset HealthFoodArray = ArrayNew(1)>
    <cfset HealthFoodArray[1] = "Bean Curd">
    <cfset HealthFoodArray[2] = "Yogurt">
    <cfset HealthFoodArray[3] = "Tofu">

    <!--- add a third column to the query --->
    <cfset nColumnNumber3 = QueryAddColumn(myQuery, "HealthFood",
    HealthFoodArray)>

    <table cellspacing = "2" cellpadding = "2" border = "0">
    <tr>
      <th align = "left">Fast Food</th>
      <th align = "left">Fine Cuisine</th>
      <th align = "left">Health Food</th>
    </tr>
    <cfoutput query = "myQuery">
    <tr>
      <td>#FastFood#</td>
      <td>#FineCuisine#</td>
      <td>#HealthFood#</td>
    </tr>
    </cfoutput>
    </table>
    <p><B>Note:</B> Because there are fewer elements in the Fine Cuisine
    and Health Food arrays, QueryAddColumn added padding to the
    corresponding columns in the query.</p>

query |
Name of a query that was created with QueryNew.

column-name |
Name of the new column.

array-name |
Name of an array whose elements are to populate the new column.