QueryNew

Description

Creates an empty query (query object).

Returns

An empty query with a set of named columns, or an empty query.

Function syntax

QueryNew(columnlist [, columntypelist])

History

ColdFusion MX 7: Added columntypelist parameter.

See also

QueryAddColumn, QueryAddRow, QuerySetCell; Managing data types for columns in the Developing ColdFusion Applications

Parameters

Parameter

Description

columnlist

Comma-delimited list of column names, or an empty string.

columntypelist

(Optional) Comma-delimited list specifying column data types. ColdFusion generates an error if the data you add to the column is not of this type, or if it cannot convert the data to this type. The following data types are valid:

  • Integer: 32-bit integer

  • BigInt: 64-bit integer

  • Double: 64-bit decimal number

  • Decimal: Variable length decimal, as specified by java.math.BigDecimal

  • VarChar: String

  • Binary: Byte array

  • Bit: Boolean (1=True, 0=False)

  • Time: Time

  • Date: Date (can include time information)

Usage

If you specify an empty string in the columnlist parameter, use the QueryAddColumn function to add columns to the query.

Adobe recommends that you use the optional columntypelist parameter. Without this parameter, ColdFusion must try to determine data types when it uses the query object in a query of queries. Determining data types requires additional processing, and can result in errors if ColdFusion does not guess a type correctly.

Example

The following example uses the QueryNew function to create an empty query with three columns. It populates two rows of the query and displays the contents of the query object and its metadata.

<!--- Create a new three-column query, specifying the column data types ---> 
<cfset myQuery = QueryNew("Name, Time, Advanced", "VarChar, Time, Bit")> 
 
<!--- Make two rows in the query ---> 
<cfset newRow = QueryAddRow(MyQuery, 2)> 
 
<!--- Set the values of the cells in the query ---> 
<cfset temp = QuerySetCell(myQuery, "Name", "The Wonderful World of CMFL", 1)> 
<cfset temp = QuerySetCell(myQuery, "Time", "9:15 AM", 1)> 
<cfset temp = QuerySetCell(myQuery, "Advanced", False, 1)> 
<cfset temp = QuerySetCell(myQuery, "Name", "CFCs for Enterprise 
        Applications", 2)> 
<cfset temp = QuerySetCell(myQuery, "Time", "12:15 PM", 2)> 
<cfset temp = QuerySetCell(myQuery, "Advanced", True, 2)> 
 
<h4>The query object contents</h4> 
<cfoutput query = "myQuery"> 
    #Name# #Time# #Advanced#<br> 
</cfoutput><br> 
<br> 
<h4>Using individual query data values</h4> 
<cfoutput> 
    #MyQuery.name[2]# is at #MyQuery.Time[2]#<br> 
</cfoutput><br> 
<br> 
<h4>The query metadata</h4> 
<cfset querymetadata=getMetaData(myQuery)> 
<cfdump var="#querymetadata#">