{ Akbar NoorMohamed }

Using cachedWithin/cachedAfter in CFQUERY with CFQUERYPARAM

Jun 30, 2008
     #coldfusion  
1 minute

Earlier morning, I was working on creating a cached query for to display Next N record-navigation interface. I’m having the ColdFusion 8 installed in my system. The below query with CFQUERYPARAM executes well and my aim of displaying Next N record-navigation is achieved.

<cfquery name="qBlogFeedResult" datasource="#application.dsn#" cachedwithin="#createTimeSpan( 0,0,30,0 )#">
select  *
from    blogfeed
where   datecreated > <cfqueryparam value="#attributes.date#" cfsqltype="cf_sql_timestamp">
order by    datecreated desc
</cfquery>
</code>

When testing this query in my other system having ColdFusion 7 installed I got the below error because CF 7 will not allow of using cfqueryparam in cfquery with cachedWithin/cachedAfter.

Using “cachedWithin” or “cachedAfter” in CFQUERY with CFQUERYPARAM is not allowed.

The great news is ColdFusion 8 allows cachedWithin/cachedAfter in cfquery with cfqueryparam and this is one of the hidden gems of ColdFusion 8. But in CF8 documentation which is not having the updated information about this functionality.

To explore more about CF 8 Hidden Gems please check Charlie Arehart’s presentation on Hidden Gems in ColdFusion 8 PDF and his recorded Adobe Connect Presentation.