You can create a query object from a delimited text file by using the cfhttp
tag and specifying method="Get"
and the name
attribute. This is a powerful method for processing and handling generated text files. After you create the query object, you can easily reference columns in the query and perform other ColdFusion operations on the data.
ColdFusion processes text files in the following manner:
delimiter
attribute. The default is a comma.
textqualifier
attribute. The default text qualifier is the double quotation mark (").textqualifier
="" specifies that there is no text qualifier.
textqualifier
="""" (four " marks in a row) explicitly specifies the double quotation mark as the text qualifier.
columns
attribute. You must specify a name for each column. You then use these new names in your CFML code. However, ColdFusion never treats the first row of the file as data. <!--- The text file has six columns separated by commas: ---><!--- OrderID,OrderNum,OrderDate,ShipDate,ShipName,ShipAddress --->
<!--- This example uses the first row as the column names --->
<cfhttp method="Get" url="http://127.0.0.1/orders/june/orders.txt" name="juneorders"> <cfoutput query="juneorders"> OrderID: #OrderID#<br> Order Number: #OrderNum#<br> Order Date: #OrderDate#<br> </cfoutput> <!--- Now substitute different column names ---> <!--- by using the columns attribute ---> <hr> Now using replacement column names<br> <cfhttp method="Get" url="http://127.0.0.1/orders/june/orders.txt" name="juneorders" columns="ID,Number,ODate,SDate,Name,Address" delimiter=","> <cfoutput query="juneorders"> Order ID: #ID#<br> Order Number: #Number#<br> Order Date: #SDate#<br> </cfoutput>
querytextfile.cfm
in myapps
under your Web root directory and view it in your browser.