Woops, I made a mistake in that SQL, should have been:

<cfquery name="myname" datasource="myDB">

SELECT email
 FROM user u
 WHERE country = <cfqueryparam cfsqltype="cf_sql_varchar"
value=#somecountry#>
 AND ( Len(<cfqueryparam cfsqltype="cf_sql_varchar" value=#somestate#>) = 0
  OR state = <cfqueryparam cfsqltype="cf_sql_varchar" value=#somestate#>)
</cfif>
</cfquery>

On 24/10/2007, Dominic Watson <[EMAIL PROTECTED]> wrote:
>
> If you are talking about whether, in the case of your multiple IF
> statement DSQL, to use or not use CFQP then I think there is only one
> answer; use CFQP! As I said before, if there is a performance boost in using
> CFQP over not using it, then that performance boost should still be valid.
> Also, all the arguments of security probably outweigh any performance issues
> there may be.
>
> If you are talking about finding an alternative to the multiple IF DSQL
> then I would say that if it is at all possible, then do it! I.e., in the
> example you gave, you could replace the CFIF with this:
>
> <cfquery name="myname" datasource="myDB">
>
> SELECT email
>  FROM user u
>  WHERE country = <cfqueryparam cfsqltype="cf_sql_varchar"
> value=#somecountry#>
>  AND ( Len(<cfqueryparam cfsqltype="cf_sql_varchar" value=#somestate#>) >
> 0
>   OR state = <cfqueryparam cfsqltype="cf_sql_varchar" value=#somestate#>)
> </cfif>
> </cfquery>
>
> Dom
>
>  On 24/10/2007, Ben Mueller <[EMAIL PROTECTED]> wrote:
> >
> > Thanks, all, for your replies.  So, a follow-up question:  will SQL
> > create multiple prepared statements for each condition?  If so, that's
> > great.  My fear is that it will only create 1 prepared statement for each
> > cfquery block, so if the current statement doesn't match the previous
> > statement, it would discard the previous one and create a new one.
> >
> > I have a bunch of queries that have 8 or more <cfif> conditions, almost
> > all in the WHERE clause.  Obviously, the more <cfif> conditions there are,
> > the greater the likelihood that any one individual call won't match the
> > previous one.
> >
> > I know cfqp is really good and all that, but this would be pretty
> > annoying if I got no real performance benefit.
> >
> >
> >
> > >
> > >Yes, to the extent that you are less likely to have another query with
> > the
> > >same prepared statement (and the same execution plan, of course) that
> > can be
> > >run again. Frankly, though, I wouldn't worry too much about that, since
> > >coding around that causes all kinds of problems.
> > >
> > >Dave Watts, CTO, Fig Leaf Software
> > >http://www.figleaf.com/
> >
> >
> > 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Enterprise web applications, build robust, secure 
scalable apps today - Try it now ColdFusion Today
ColdFusion 8 beta - Build next generation apps

Archive: 
http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:291984
Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to