Why not simply store the query in the session scope? (This code assumes
MX and no need for locks.)
<cfif not isDefined("session.qGetSite")>
<cfquery name="session.qGetsite" ....
...
</cfquery>
</cfif>
Then you can simply...
<cfoutput query="session.qGetSite">
...
</cfoutput>
This also gives the added benefit of giving you a quick way to remove
the query:
<cfset structDelete(session,"qGetSite")>
Just remember that each session will have it's own query, so if your
site is _very_ busy and the query is big, your going to eat up a lot of
RAM.
=======================================================================
Raymond Camden, ColdFusion Jedi Master for Mindseye, Inc
Email : [EMAIL PROTECTED]
WWW : www.camdenfamily.com/morpheus
Yahoo IM : morpheus
"My ally is the Force, and a powerful ally it is." - Yoda
> -----Original Message-----
> From: Joshua Miller [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, January 16, 2003 12:25 PM
> To: CF-Talk
> Subject: Query Caching Question
>
>
> Ok, I've been reading up on query caching today and I think
> I've run into something that may cause me problems unless
> there is a way to dynamically name queries.
>
> I have an application that houses data for multiple "sites" -
> the data is referenced by a siteID that is set as a session variable.
>
> So for example:
>
> <cfquery datasource="#request.dsn#" name="qGetSite">
> SELECT sitename
> FROM tblSites
> WHERE siteID=#session.siteID#
> </cfquery>
>
> If I try to cache this query, then if someone logs in with a
> siteID of 20 then they'll get their data, unless the query is
> cached, then they'll get the data of whoever logged in the
> last time - no matter what their siteID correct?
>
> Is there a way to create a dynamic queryname?
>
> I tried: <cfquery datasource="#request.dsn#"
> name="qGetSite#session.siteID#"> and it worked to create the
> query, but for subsequent references I'm getting errors like on:
>
> This errors: <cfif qGetSite#session.siteID#.recordcount GT 0>
> This errors: <cfset queryct="qGetSite#session.siteID#.recordcount">
> <cfif evaluate(queryct) GT 0>
>
> Is there a way I can dynamically name my query so that I can
> use query caching without giving users the wrong data?
>
> Can I turn off all query caching and then specify queries to
> cache using the CACHEDWITHIN statement for queries that don't
> rely upon the siteID?
>
> Thanks,
>
> Joshua Miller
> Head Programmer / IT Manager
> Garrison Enterprises Inc.
> www.garrisonenterprises.net <http://www.garrisonenterprises.net/>
> [EMAIL PROTECTED]
> (704) 569-9044 ext. 254
>
> **************************************************************
> **********
> *************
> Any views expressed in this message are those of the
> individual sender, except where the sender states them to be
> the views of
> Garrison Enterprises Inc.
>
> This e-mail is intended only for the individual or entity to
> which it is addressed and contains information that is
> private and confidential. If you are not the intended
> recipient you are hereby notified that any dissemination,
> distribution or copying is strictly prohibited. If you
> have received this e-mail in error please delete it
> immediately and advise us by return e-mail to
<mailto:[EMAIL PROTECTED]>
[EMAIL PROTECTED]
************************************************************************
*************
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
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
This list and all House of Fusion resources hosted by CFHosting.com. The place for
dependable ColdFusion Hosting.
Unsubscribe:
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4