Wow, you have a lot going on here. It's no wonder it takes a while to execute.... Is there any reason you do not want to run two queries instead? You are transferring the work load of the DB to the CF server in the code below - you should let the DB do what it does best.
You'll need one query to get the list of campuses and another to display the information about a chosen campus, right? That's how CF was meant to work best. +-----------------------------------------------+ Bryan Love Database Analyst Macromedia Certified Professional Internet Application Developer TeleCommunication Systems [EMAIL PROTECTED] +-----------------------------------------------+ "...'If there must be trouble, let it be in my day, that my child may have peace'..." - Thomas Paine, The American Crisis "Let's Roll" - Todd Beamer, Flight 93 -----Original Message----- From: Mike Pacella [mailto:[EMAIL PROTECTED] Sent: Thursday, June 26, 2003 12:48 PM To: CF-Talk Subject: CFC performance difficulties <cfcomponent hint="Creates the CampusDAO CF component, which will provide database interaction with the Campus table" displayName="CampusDAO"> <!--- Function: selectCampuses Purpose: Returns a query of all campuses in the database Parameters: - String dataSource (required) : Datasource to update data Returns: - Structure stCampusData : Structure of CampusData objects keyed by CampusCd ---> <cffunction name="selectCampuses" hint="Returns a query of all campuss in the database" returnType="struct" access="public"> <cfargument name="dataSource" type="string" required="true" hint="Datasource to update data"> <!--- Select the data ---> <cfquery name="qSelectCampus" datasource="#arguments.dataSource#" dbtype="odbc"> SELECT campusCode, typeCode, campusName, localName, openDate, addedDate, changedDate, terminalID, communityInd, locationCode FROM CAMPUS </cfquery> <cfscript> QueryAddRow(qSelectCampus); QuerySetCell(qSelectCampus, "campusCode", "88888"); QuerySetCell(qSelectCampus, "campusName", "RF - SYSTEM ADMIN"); stCampusData = StructNew(); </cfscript> <cfloop query="qSelectCampus"> <cfscript> // Create the campus object stCampusDataArgs = StructNew(); stCampusDataArgs.campusCd = campusCode; if (typeCode neq "") stCampusDataArgs.campusTypeCd = typeCode; if (campusName neq "") stCampusDataArgs.campusNm = campusName; if (localName neq "") stCampusDataArgs.campusLocalNm = localName; if (openDate neq "") stCampusDataArgs.campusOpenDt = openDate; if (addedDate neq "") stCampusDataArgs.campusAddDt = addedDate; if (changedDate neq "") stCampusDataArgs.campusChangeDt = changedDate; if (terminalID neq "") stCampusDataArgs.trmId = terminalID; if (communityInd neq "") stCampusDataArgs.cmmColInd = communityInd; if (locationCode neq "") stCampusDataArgs.locCd = locationCode; </cfscript> <cfinvoke argumentcollection="#stCampusDataArgs#" component="mike.cfc.CampusData" method="getInstance" returnvariable="objCampusData"> </cfinvoke> <cfscript> StructInsert(stCampusData, campusCode, objCampusData); </cfscript> </cfloop> <!--- Return the structure of CampusData ---> <cfreturn stCampusData> </cffunction> </cfcomponent> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Archives: http://www.houseoffusion.com/cf_lists/index.cfm?forumid=4 Subscription: http://www.houseoffusion.com/cf_lists/index.cfm?method=subscribe&forumid=4 FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4