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  |  Print Page





Reader Comments

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

You're Welcome!


Jul 17, 2007 at 5:24 PM // reply »
7,572 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
Mar 19, 2010 at 7:26 PM
MySQL 3/4 - com.mysql.jdbc.Driver And allowMultiQueries=true
Thank you very much for this post. Adding allowMultiQueries="true" in context.xml didn't help until I added it to url as allowMultiQueries=true Good idea is to use prepared statements and it will he ... read »
Jim
Mar 19, 2010 at 4:49 PM
Nobody Puts Baby In The Corner!
Wow. This is like suddenly finding a support group for your secret shame. I'm not alone! I always liked this movie, even though it is extremely cheesy. I just wish Jennifer Grey hadn't gotten the ... read »
Mar 19, 2010 at 4:47 PM
Application.cfc OnRequest() Method Affects OnError() Arguments
@Jason and @Ben, I've been doing some CF9 refactoring on our systems and noticed an odd occurrence with onError as well. Found a way to work around my problem, but what I saw was... Background: Our ... read »
Jim
Mar 19, 2010 at 4:44 PM
Shoot 'Em Up Starring Clive Owen And Paul Giamatti
I actually enjoyed this movie quite a lot. It was different, certainly, but I think they were going for more of a Quentin Tarentino-"wow, that was weird"-vibe than an actual spoof. Once I realize ... read »
Mar 19, 2010 at 4:34 PM
An Intensive Exploration Of jQuery With Ben Nadel (Video Presentation)
Hey I guess the video is down. Is there anyway you can upload to youtube or vimeo or some other service? Greatly appreciated. ... read »
Mar 19, 2010 at 4:24 PM
ColdFusion CFPOP - My First Look
@Ben Thanks for the follow up! The root of the problem had to do with being able to trace bounced emails to specific records in a DB table. Let's say you run an email campaign and you get 1,000 bou ... read »
Mar 19, 2010 at 4:15 PM
SQL COUNT( NULLIF( .. ) ) Is Totally Awesome
Thank you Ben and Tony! Either of these work for the summary report I am working on and the info is much appreciated! I think I like Tony's a little better because I won't have to educate every ... read »
Mar 19, 2010 at 3:35 PM
ColdFusion Path Usage And Manipulation Overview
@Ben, Sorry. Clarification. expandpath worked for me in application.cfc, but not in other templates. ... read »