ColdFusion CFQueryParam List / Null Attributes Do Not Require YesNoFormat() (Thanks Elliott Sprehn!)

Posted July 17, 2007 at 2:01 PM

Tags: ColdFusion

I used to think that ColdFusion CFQueryParam's List and Null attributes required a "Yes" or "No" string. I always thought this was unusual, since so much of ColdFusion Yes/No attributes simply require a boolean value (ex. True, 1, 0, False). And, more than that, I could have sworn that I even tested this and was disappointed to see that true/false values actually threw ColdFusion exceptions!

But, apparently I read that somewhere and just accepted it like some ColdFusion Sheep in the herd. Thankfully, Elliott Sprehn has shown me the error of my ways. He told me that, like most of ColdFusion, the CFQueryParam Null and List attributes can, in fact, take standard boolean values:

 Launch code in new window » Download code as text file »

  • <cfquery name="qTest" datasource="#REQUEST.DSN.Source#">
  • SELECT
  • id,
  • name
  • FROM
  • blog_entry
  • WHERE
  • date_created =
  • <cfqueryparam
  • value="2007/07/17"
  • cfsqltype="CF_SQL_TIMESTAMP"
  • null="#NOT IsNumericDate( '2007/07/17' )#"
  • />
  • OR
  • id IN
  • (
  • <cfqueryparam
  • value="1,2,3"
  • cfsqltype="CF_SQL_INTEGER"
  • list="true"
  • />
  • )
  • </cfquery>

When I run that, I get a ColdFusion query returned, not the formerly expected ColdFusion error. This is sweet-ass-sweet news! I always hated using the YesNoFormat() method as it adds so much noise to the already verbose ColdFusion CFQueryParam tag. This is gonna be so much nicer to use!

Download Code Snippet ZIP File

Post Comment  |  Ask Ben  |  Permalink  |  Print Page





Reader Comments

Jul 17, 2007 at 5:18 PM // reply »
125 Comments

You're Welcome!


Jul 17, 2007 at 5:24 PM // reply »
6,516 Comments

I love learning these little things that end up having a huge impact on the way I code.


Jul 17, 2007 at 6:47 PM // reply »
16 Comments

Nice one Ben, for more reading: http://www.chapter31.com/2007/02/04/cfqueryparam-and-conditional-handling-of-nulls/


Post Comment  |  Ask Ben

Recent Blog Comments
Nov 20, 2009 at 11:32 PM
Five Months Without Hungarian Notation And I'm Loving It
I've used headless camel case for years for not only ColdFusion variables, but also SQL tables and fields... pretty much everything involving code. I also subscribe to the "don't abbreviate and clea ... read »
Nov 20, 2009 at 11:00 PM
Five Months Without Hungarian Notation And I'm Loving It
@Marcel, Yeah, I always err on the side of longer but more readable variable names. As for the camel casing of CF methods and the headless camel casing of custom items, I get around this by always ... read »
Nov 20, 2009 at 10:56 PM
Five Months Without Hungarian Notation And I'm Loving It
I use the following and love it: my.namespace.MyComponents.functionMethodsOrUDF() CONSTANT_VALUES_OR_PROPERTIES One thing I always try is to CamelCaseBuiltInColdFusionFunctions() so others can tell ... read »
Nov 20, 2009 at 5:38 PM
Learning ColdFusion 8: CFImage Part I - Reading And Writing Images
Hi Ben, Great article. I've been looking around to see if ColdFusion image engine can programatically create the following "wrap around" effect: http://www.creativepro.com/article/photoshop-s-she ... read »
Nov 20, 2009 at 5:35 PM
Maintaining ColdFusion Sessions Across SMS Text Message Requests Without Cookies
@Dave: I talked to Gert he suggested: <cfhttp method="get" url="http://{some cf website}" result="stuff" addtoken="yes" /> Note the addition of cfhttp attribute addtoken. That should persist y ... read »
Nov 20, 2009 at 5:23 PM
Maintaining ColdFusion Sessions Across SMS Text Message Requests Without Cookies
@Todd, Ahh, gotcha, yeah that makes sense. ... read »
Nov 20, 2009 at 5:17 PM
Maintaining ColdFusion Sessions Across SMS Text Message Requests Without Cookies
Ben, sorry if I didn't make this clear. You can make it work like that if you want, just put <cfset session.foo = 1> (and <cfset application.foo = 1>) in your OnRequestStart() and it reve ... read »