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
                                

Reply via email to