Re: Iif() Evaluation Weirdness
Well if you want to try it out then try using nested evaluate(de('')) You can also achieve same using nested quotes like de("'stuff'") to avoid evaluation, But it just gets messy imho Iif() has its uses for simple inline evaluations, such as select lists or dynamic style classes but beyond that I think it just makes for better code not to do it inline. On Wed, Feb 4, 2015 at 0:21 AM, Mosh Teitelbaum wrote: Thanks Russ (and Dave). That's the route I ended up going to. Kind of annoying as I think the Iif() method produces cleaner code (and I had already written it) but it is what it is. -- Mosh Teitelbaum Russ Michaels wrote > If you are going to use a variable that doesn't exist then using this method will cause you issues as cf will still try to evaluate both sides of it even if false. > There are ways round it using nested evaluate and de statements, but frankly it just becomes messy and unreadable, I used to do this myself. > You are better off just using cfif or switch statement instead. ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:360051 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: Iif() Evaluation Weirdness
> > > > > (IsDefined("importData.nickname")), > > > De(importData.Nickname), De(""))> > > > > CF is going to verify that the variable exists, because you're referring to > > it. > > > > That's what's happening here. Just because you're using the DE() function > > doesn't > > mean that CF isn't going to evaluate importData.nickname at runtime > > to verify that there's actually something called importData.nickname in > > case it needs > > to reference that value. > > Thanks for the reply. My misuse of terminology aside, that would mean that > the > following cannot be converted to using IIF(): > > > > > > > > I thought the whole point of the DE() function was to delay evaluation of its > argument > until it was actually needed (e.g., when the IIF() function's first argument > evaluates to > true). If not, then the only way to use a variable, that may not be defined, > is by way of > the full treatment. Is that right? No, that's not entirely right. But the CFIF is more readable, so you might want to go with that anyway. Honestly, I find IIF to be hard to read a lot of the time, so I try to avoid it. Now that you have a corresponding CFIF, it's a bit clearer to me what you're trying to do. Here's how you'd do that, I think, in IIF: (note, I haven't tested this because I'm not in my office) The IIF function will automatically evaluate the last two arguments and return their values, but you'll notice that the arguments themselves are strings. Your second argument doesn't actually refer to the variable until that branch is executed. Does that make sense? Dave Watts, CTO, Fig Leaf Software 1-202-527-9569 http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Service-Disabled Veteran-Owned Small Business (SDVOSB) on GSA Schedule, and provides the highest caliber vendor- authorized instruction at our training centers, online, or onsite. ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:360050 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: Iif() Evaluation Weirdness
Thanks Russ (and Dave). That's the route I ended up going to. Kind of annoying as I think the Iif() method produces cleaner code (and I had already written it) but it is what it is. -- Mosh Teitelbaum Russ Michaels wrote > If you are going to use a variable that doesn't exist then using this method > will cause you issues as cf will still try to evaluate both sides of it even > if false. > There are ways round it using nested evaluate and de statements, but frankly > it just becomes messy and unreadable, I used to do this myself. > You are better off just using cfif or switch statement instead. ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:360049 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: Iif() Evaluation Weirdness
If you are going to use a variable that doesn't exist then using this method will cause you issues as cf will still try to evaluate both sides of it even if false. There are ways round it using nested evaluate and de statements, but frankly it just becomes messy and unreadable, I used to do this myself. You are better off just using cfif or switch statement instead. On Tue, Feb 3, 2015 at 19:32 PM, Mosh Teitelbaum wrote: All: I've run into a problem that I could use some new eyes on... I have a function inside a CFC that accepts a query (importData) and a series of indicators (nicknameInd) that indicate if the value from the query should be used (indicator = 1) or not (indicator = 0). In the below code, the first argument in the IIF() function evaluates to false (both conditions are false) so only the third argument, De(""), should be evaluated. However, for some reason, both the second and third arguments are being evaluated and I'm getting an error message that "Element NICKNAME is undefined in IMPORTDATA." Because importData.nickname is not defined. I've replaced both the second and third arguments with debugging code that showed that they are both being evaluated, regardless of the condition in the first argument. Not sure why that is though given that they're both wrapped in DE() functions. Any suggestions? Thanks. -- Mosh Teitelbaum ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:360048 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
RE: Iif() Evaluation Weirdness
Dave Watts wrote: > > > (IsDefined("importData.nickname")), > > De(importData.Nickname), De(""))> > > CF is going to verify that the variable exists, because you're referring to > it. > > That's what's happening here. Just because you're using the DE() function > doesn't mean that CF isn't going to evaluate importData.nickname at runtime > to verify that there's actually something called importData.nickname in case > it needs to reference that value. Dave: Thanks for the reply. My misuse of terminology aside, that would mean that the following cannot be converted to using IIF(): I thought the whole point of the DE() function was to delay evaluation of its argument until it was actually needed (e.g., when the IIF() function's first argument evaluates to true). If not, then the only way to use a variable, that may not be defined, is by way of the full treatment. Is that right? -- Mosh Teitelbaum ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:360047 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: Iif() Evaluation Weirdness
> I've run into a problem that I could use some new eyes on... I have a > function inside a CFC that accepts a > query (importData) and a series of indicators (nicknameInd) that indicate if > the value from the query should > be used (indicator = 1) or not (indicator = 0). In the below code, the first > argument in the IIF() function > evaluates to false (both conditions are false) so only the third argument, > De(""), should be evaluated. However, > for some reason, both the second and third arguments are being evaluated and > I'm getting an error message > that "Element NICKNAME is undefined in IMPORTDATA." Because > importData.nickname is not defined. > > (IsDefined("importData.nickname")), > De(importData.Nickname), De(""))> > > I've replaced both the second and third arguments with debugging code that > showed that they are both being > evaluated, regardless of the condition in the first argument. Not sure why > that is though given that they're > both wrapped in DE() functions. > > Any suggestions? The word "evaluated" here, I don't think it means what you think it means. Whenever you have a CF statement, the entire statement is evaluated. So, if you have something like this: function(variable) CF is going to verify that the variable exists, because you're referring to it. That's what's happening here. Just because you're using the DE() function doesn't mean that CF isn't going to evaluate importData.nickname at runtime to verify that there's actually something called importData.nickname in case it needs to reference that value. Dave Watts, CTO, Fig Leaf Software 1-202-527-9569 http://www.figleaf.com/ http://training.figleaf.com/ Fig Leaf Software is a Service-Disabled Veteran-Owned Small Business (SDVOSB) on GSA Schedule, and provides the highest caliber vendor- authorized instruction at our training centers, online, or onsite. ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:360046 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Iif() Evaluation Weirdness
All: I've run into a problem that I could use some new eyes on... I have a function inside a CFC that accepts a query (importData) and a series of indicators (nicknameInd) that indicate if the value from the query should be used (indicator = 1) or not (indicator = 0). In the below code, the first argument in the IIF() function evaluates to false (both conditions are false) so only the third argument, De(""), should be evaluated. However, for some reason, both the second and third arguments are being evaluated and I'm getting an error message that "Element NICKNAME is undefined in IMPORTDATA." Because importData.nickname is not defined. I've replaced both the second and third arguments with debugging code that showed that they are both being evaluated, regardless of the condition in the first argument. Not sure why that is though given that they're both wrapped in DE() functions. Any suggestions? Thanks. -- Mosh Teitelbaum ~| Order the Adobe Coldfusion Anthology now! http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:360045 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm
Re: iif
ya my case should be like that, but i need to pass that result to the cfgrid, along with some ohter rows >IIF is a ColdFusion method, you can't use it in SQL like that. What you're >probably looking for is CASE: > >CASE WHEN u.userid = s.lead_mgr THEN u.first ELSE s.lead_note END AS leadMgr > >Francois Levesque >http://blog.critical-web.com/ > > >On Mon, Jul 20, 2009 at 9:31 AM, RamaDevi Dobbala wrote: > >> ~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:324717 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: iif
IIF is a ColdFusion method, you can't use it in SQL like that. What you're probably looking for is CASE: CASE WHEN u.userid = s.lead_mgr THEN u.first ELSE s.lead_note END AS leadMgr Francois Levesque http://blog.critical-web.com/ On Mon, Jul 20, 2009 at 9:31 AM, RamaDevi Dobbala wrote: > > >select s.office_name,u.userid,s.lead_mgr,iIf(u.userid = s.lead_mgr, > u.first , s.lead_note ) as leadMgr >from sourcebook_1 s ,user_info u >where s.active = 1 >and office_id not in(36,37,38,73) >order by s.office_number > > > is this is correct comparision,please tell me > > ~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:324715 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
iif
select s.office_name,u.userid,s.lead_mgr,iIf(u.userid = s.lead_mgr, u.first , s.lead_note ) as leadMgr from sourcebook_1 s ,user_info u where s.active = 1 and office_id not in(36,37,38,73) order by s.office_number is this is correct comparision,please tell me ~| Want to reach the ColdFusion community with something they want? Let them know on the House of Fusion mailing lists Archive: http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:324714 Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Outputting a hash character in an IIF() function.
if (foo) {bar='a';} else {bar='b';} Now it's one line... who didn't see that coming? :-P ..:.:.:.:.:.:.:.:.:.:.:. Bobby Hartsfield http://acoderslife.com ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296272 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Outputting a hash character in an IIF() function.
Tom Chiverton wrote: > if (foo){ > bar=a > }else{ > bar=b > } > b > > seems clearer to me than nested iif and de. This is completely personal preference and a very very small matter. But I generally find less to be clearer then more. -- if (foo) { bar='a'; } else { bar='b'; } - 7 lines VERSUS - - 1 line. But each to his own. I still wanted to know WHY it was not working and now I do. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296262 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Outputting a hash character in an IIF() function.
Brad Wood wrote: > The hash simply needs to be escaped as > #iif(bgFlag,DE(' style="background-color: DDFFDD"'),DE(''))# > > The hash needs to be escaped twice since you are delaying evaluation. > > The text: > style="background-color: DDFFDD" > > Is passed out of the de function as (including the quotes): > " style=""background-color: ##DDFFDD""" > > That text is then evaluated by the iif to: > style="background-color: #DDFFDD" > > ~Brad Thanks, now I understand what is going on. I had tried three, but never took it to four. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296260 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Outputting a hash character in an IIF() function.
Actually, if I am going to use braces, I like them to align vertically for better readability: if (foo) { bar = a; } else { bar = b; } But enough of this. He didn't ask for our opinions in code readability, he asked how to escape a hash mark in an iif. (which I answered in my previous reply. ~Brad ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296259 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Outputting a hash character in an IIF() function.
The hash simply needs to be escaped as #iif(bgFlag,DE(' style="background-color: DDFFDD"'),DE(''))# The hash needs to be escaped twice since you are delaying evaluation. The text: style="background-color: DDFFDD" Is passed out of the de function as (including the quotes): " style=""background-color: ##DDFFDD""" That text is then evaluated by the iif to: style="background-color: #DDFFDD" ~Brad -Original Message- From: Ian Skinner [mailto:[EMAIL PROTECTED] Sent: Wednesday, January 09, 2008 10:14 AM To: CF-Talk Subject: Re: Outputting a hash character in an IIF() function. Dave wrote: > Have you tried assigning it to a variable in a cfset and then displaying the > variable. Alternately, convert to RGB: style="background-color:rgb(221 255 > 221)"' Yes I can set and use a variable, but I was curious why I would have to do this. Why do I need to create five lines to set a variable and use a few bits more memory rather then use one clear function at the point where the decision needs to be made. The RGB solution is a good one. But I am still curious why one can not apparently output a hash mark in this manner. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296258 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Outputting a hash character in an IIF() function.
On Wednesday 09 Jan 2008, Ian Skinner wrote: > Generally because I prefer to KNOW why I have to replace one clear line > of code with 5 lines of slightly less clear code that requires the using > a few bits more memory to store a variable I will not use any place else. if (foo){ bar=a }else{ bar=b } b seems clearer to me than nested iif and de. -- Tom Chiverton Helping to revolutionarily orchestrate B2B experiences on: http://thefalken.livejournal.com This email is sent for and on behalf of Halliwells LLP. Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at Halliwells LLP, 3 Hardman Square, Spinningfields, Manchester, M3 3EB. A list of members is available for inspection at the registered office. Any reference to a partner in relation to Halliwells LLP means a member of Halliwells LLP. Regulated by The Solicitors Regulation Authority. CONFIDENTIALITY This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 2500. For more information about Halliwells LLP visit www.halliwells.com. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296257 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Outputting a hash character in an IIF() function.
Dave wrote: > Have you tried assigning it to a variable in a cfset and then displaying the > variable. Alternately, convert to RGB: style="background-color:rgb(221 255 > 221)"' Yes I can set and use a variable, but I was curious why I would have to do this. Why do I need to create five lines to set a variable and use a few bits more memory rather then use one clear function at the point where the decision needs to be made. The RGB solution is a good one. But I am still curious why one can not apparently output a hash mark in this manner. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296256 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Outputting a hash character in an IIF() function.
Tom Chiverton wrote: > On Wednesday 09 Jan 2008, Ian Skinner wrote: > >> I'm having trouble with this and the usual tricks don't seem to be working. >> #iif(bgFlag,DE(' style="background-color: #DDFFDD"'),DE(''))# >> > Why not just rewrite it so as not to use iif or de ? Generally because I prefer to KNOW why I have to replace one clear line of code with 5 lines of slightly less clear code that requires the using a few bits more memory to store a variable I will not use any place else. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296255 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Outputting a hash character in an IIF() function.
Have you tried assigning it to a variable in a cfset and then displaying the variable. Alternately, convert to RGB: style="background-color:rgb(221 255 221)"' > -Original Message- > From: Ian Skinner [mailto:[EMAIL PROTECTED] > Sent: Wednesday, January 09, 2008 9:34 AM > To: CF-Talk > Subject: Outputting a hash character in an IIF() function. > > I'm having trouble with this and the usual tricks don't seem > to be working. > > #iif(bgFlag,DE(' style="background-color: #DDFFDD"'),DE(''))# > > This fails. I have tried escaping the internal hash character > by doubling. I have tried to concatenate chr(35). > Everything I do throws exceptions involving invalidly paired > hash characters. > > ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296253 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Outputting a hash character in an IIF() function.
On Wednesday 09 Jan 2008, Ian Skinner wrote: > I'm having trouble with this and the usual tricks don't seem to be working. > #iif(bgFlag,DE(' style="background-color: #DDFFDD"'),DE(''))# Why not just rewrite it so as not to use iif or de ? -- Tom Chiverton Helping to administratively architect scalable CEOs on: http://thefalken.livejournal.com This email is sent for and on behalf of Halliwells LLP. Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at Halliwells LLP, 3 Hardman Square, Spinningfields, Manchester, M3 3EB. A list of members is available for inspection at the registered office. Any reference to a partner in relation to Halliwells LLP means a member of Halliwells LLP. Regulated by The Solicitors Regulation Authority. CONFIDENTIALITY This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 2500. For more information about Halliwells LLP visit www.halliwells.com. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296241 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Outputting a hash character in an IIF() function.
I'm having trouble with this and the usual tricks don't seem to be working. #iif(bgFlag,DE(' style="background-color: #DDFFDD"'),DE(''))# This fails. I have tried escaping the internal hash character by doubling. I have tried to concatenate chr(35). Everything I do throws exceptions involving invalidly paired hash characters. ~| Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to date Get the Free Trial http://ad.doubleclick.net/clk;160198600;22374440;w Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:296238 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Iif and CF 7vs. CF 8
> cfset uploadFile( > IIF(Len(Trim(form.txtFileName)) GT 0, > Evaluate(DE("ListGetAt(form.txtFileName, > intCounter)")), ""), ... Why are you using DE inside Evaluate? The point of the DE (Delay Evaluation) function is to prevent the automatic evaluation that occurs within IIF. Dave Watts, CTO, Fig Leaf Software ~| ColdFusion 8 - Build next generation apps today, with easy PDF and Ajax features - download now http://download.macromedia.com/pub/labs/coldfusion/cf8_beta_whatsnew_052907.pdf Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:292733 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Iif and CF 7vs. CF 8
Hello, all, I have this code snippet below which runs fine on my local workstation (Windows XP, CF 8 IIS 5.1). When I throw it up on our dev server (Windows 2k3, IIS 6, CF 7) I get an index out of bounds error on the second IIF line below. I've looked at the docs and I don't see why this code should not work on 7 but work fine on 8. Anyone have any ideas, or are you all just going to tell me to not use IIF? Thanks! Lincoln cfloop from="1" to="#ListLen(form.txtFileName)#" index="intCounter" cfset uploadFile( IIF(Len(Trim(form.txtFileName)) GT 0, Evaluate(DE("ListGetAt(form.txtFileName, intCounter)")), ""), IIF((Len(Trim(form.txtFileDesc)) GT 0), Evaluate(DE("ListGetAt(form.txtFileDesc, intCounter)")), ""), form.hidCategory, IIF((Len(Trim(form.txtEffDate)) GT 0), Evaluate(DE("ListGetAt(form.txtEffDate, intCounter)")), ""), form.hidId, intCounter) /cfloop ~| Get involved in the latest ColdFusion discussions, product development sharing, and articles on the Adobe Labs wiki. http://labs/adobe.com/wiki/index.php/ColdFusion_8 Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:292729 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Just a tidbit for those who might not have use iif before
First better way: Don't use strings for booleans! Second better way: Don't write "if True then True else False"! (parenthesis are unnecessary here, but I feel they make it more readable) Third better way: Don't use cfform! (that's from my form custom tag library, not yet released) :) > I'm assuming there is a noticeable difference in using IFF? Recently > I've been using it quite heavily in forms now i.e. > > checked="#IIF(something eq 'somethingelse', DE('Yes'), DE('No'))#" /> > > Are there better ways of doing this? ~| ColdFusion MX7 and Flex 2 Build sales & marketing dashboard RIAâs for your business. Upgrade now http://www.adobe.com/products/coldfusion/flex2?sdid=RVJT Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:273508 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Just a tidbit for those who might not have use iif before
checked="#something eq 'somethingelse#" That should work just fine. No need for the iff() in this case. On 3/23/07, Richard Cooper <[EMAIL PROTECTED]> wrote: > > I'm assuming there is a noticeable difference in using IFF? Recently I've > been using it quite heavily in forms now i.e. > > checked="#IIF(something eq 'somethingelse', DE('Yes'), DE('No'))#" /> > > Are there better ways of doing this? > > ~| Create Web Applications With ColdFusion MX7 & Flex 2. Build powerful, scalable RIAs. Free Trial http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJS Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:273495 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Just a tidbit for those who might not have use iif before
I'm assuming there is a noticeable difference in using IFF? Recently I've been using it quite heavily in forms now i.e. Are there better ways of doing this? ~| ColdFusion MX7 by Adobe® Dyncamically transform webcontent into Adobe PDF with new ColdFusion MX7. Free Trial. http://www.adobe.com/products/coldfusion?sdid=RVJV Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:273488 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Just a tidbit for those who might not have use iif before
I think I heard something about them going back on tour this year... On 3/22/07, Andy Matthews <[EMAIL PROTECTED]> wrote: > Here come the Iif police. > > -Original Message- > From: Peterson, Chris [mailto:[EMAIL PROTECTED] > Sent: Thursday, March 22, 2007 3:10 PM > To: CF-Talk > Subject: Just a tidbit for those who might not have use iif before > > I have never really used iif before, I was aware it existed but didn't > really see a good place for it. Until today. =) > > Check this out: > > dollarformat(iif(Cost, cost, 0)) > > That says, evaluate cost as a Boolean, if its true (anything but 0 or > null) then return cost, otherwise return 0 (so the dollarFormat does not > break) This is great instead of a around the whole thing. > > Kinda cool =) > > Chris > > > > ~| Upgrade to Adobe ColdFusion MX7 The most significant release in over 10 years. Upgrade & see new features. http://www.adobe.com/products/coldfusion?sdid=RVJR Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:273463 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Just a tidbit for those who might not have use iif before
> dollarformat(iif(Cost, cost, 0)) You could also use the val() function around the cost variable to do the same thing more efficiently. It will also correct for unexpected non-integer characters in the variable as well. I've found that in almost any situation where iif() looks like it's needed, there's a better way. There are exceptions, but I don't think this is one of them. -Justin Scott ~| Create Web Applications With ColdFusion MX7 & Flex 2. Build powerful, scalable RIAs. Free Trial http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJS Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:273442 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Just a tidbit for those who might not have use iif before
Quick, someone find a way to make that need an evaluate(). -Original Message- From: Andy Matthews [mailto:[EMAIL PROTECTED] Sent: Thursday, March 22, 2007 4:17 PM To: CF-Talk Subject: RE: Just a tidbit for those who might not have use iif before Here come the Iif police. -Original Message- From: Peterson, Chris [mailto:[EMAIL PROTECTED] Sent: Thursday, March 22, 2007 3:10 PM To: CF-Talk Subject: Just a tidbit for those who might not have use iif before I have never really used iif before, I was aware it existed but didn't really see a good place for it. Until today. =) Check this out: dollarformat(iif(Cost, cost, 0)) That says, evaluate cost as a Boolean, if its true (anything but 0 or null) then return cost, otherwise return 0 (so the dollarFormat does not break) This is great instead of a around the whole thing. Kinda cool =) Chris ~| Create Web Applications With ColdFusion MX7 & Flex 2. Build powerful, scalable RIAs. Free Trial http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJS Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:273439 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Just a tidbit for those who might not have use iif before
and about whether Cost is truly a Boolean... -Original Message- From: Rob Wilkerson [mailto:[EMAIL PROTECTED] Sent: Thursday, March 22, 2007 3:15 PM To: CF-Talk Subject: Re: Just a tidbit for those who might not have use iif before Uh oh. You're probably about to get hammered with responses related to the performance cost... On 3/22/07, Peterson, Chris <[EMAIL PROTECTED]> wrote: > > I have never really used iif before, I was aware it existed but didn't > really see a good place for it. Until today. =) > > Check this out: > > dollarformat(iif(Cost, cost, 0)) > > That says, evaluate cost as a Boolean, if its true (anything but 0 or > null) then return cost, otherwise return 0 (so the dollarFormat does > not > break) This is great instead of a around the whole thing. > > Kinda cool =) > > Chris > > ~| Macromedia ColdFusion MX7 Upgrade to MX7 & experience time-saving features, more productivity. http://www.adobe.com/products/coldfusion?sdid=RVJW Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:273438 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Just a tidbit for those who might not have use iif before
Here come the Iif police. -Original Message- From: Peterson, Chris [mailto:[EMAIL PROTECTED] Sent: Thursday, March 22, 2007 3:10 PM To: CF-Talk Subject: Just a tidbit for those who might not have use iif before I have never really used iif before, I was aware it existed but didn't really see a good place for it. Until today. =) Check this out: dollarformat(iif(Cost, cost, 0)) That says, evaluate cost as a Boolean, if its true (anything but 0 or null) then return cost, otherwise return 0 (so the dollarFormat does not break) This is great instead of a around the whole thing. Kinda cool =) Chris ~| Create Web Applications With ColdFusion MX7 & Flex 2. Build powerful, scalable RIAs. Free Trial http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJS Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:273437 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Just a tidbit for those who might not have use iif before
Uh oh. You're probably about to get hammered with responses related to the performance cost... On 3/22/07, Peterson, Chris <[EMAIL PROTECTED]> wrote: > > I have never really used iif before, I was aware it existed but didn't > really see a good place for it. Until today. =) > > Check this out: > > dollarformat(iif(Cost, cost, 0)) > > That says, evaluate cost as a Boolean, if its true (anything but 0 or > null) then return cost, otherwise return 0 (so the dollarFormat does not > break) This is great instead of a around the whole thing. > > Kinda cool =) > > Chris > > ~| ColdFusion MX7 and Flex 2 Build sales & marketing dashboard RIAâs for your business. Upgrade now http://www.adobe.com/products/coldfusion/flex2?sdid=RVJT Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:273436 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Just a tidbit for those who might not have use iif before
I have never really used iif before, I was aware it existed but didn't really see a good place for it. Until today. =) Check this out: dollarformat(iif(Cost, cost, 0)) That says, evaluate cost as a Boolean, if its true (anything but 0 or null) then return cost, otherwise return 0 (so the dollarFormat does not break) This is great instead of a around the whole thing. Kinda cool =) Chris ~| Deploy Web Applications Quickly across the enterprise with ColdFusion MX7 & Flex 2 Free Trial http://www.adobe.com/products/coldfusion/flex2/?sdid=RVJU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:273435 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: Using Iif and De together...
Couldnt you just use: If it already exists, its value will be in form.listing_openhouse If it DOES not exist, it will be created and the value "N" will be stored in it. ..:.:.:.:.:.:.:.:.:.:.:. Bobby Hartsfield http://acoderslife.com -Original Message- From: Andy Matthews [mailto:[EMAIL PROTECTED] Sent: Thursday, December 07, 2006 11:49 AM To: CF-Talk Subject: Using Iif and De together... I KNOW that I've used this method successfully before, but for some reason it's not working correctly now. I've got a radio button in a form. I want to make sure that button is there, and if so use it's value. It it's not there then I want the string "N": IIf(NOT StructKeyExists(FORM,"listing_openhouse"),Trim(FORM.listing_openhouse),De("N ")) I'm using this so that I can put it on one line. It's more cosmetic than necessary, but it should be working and I'm not sure why it isn't. Anyone have any ideas? ~| Create robust enterprise, web RIAs. Upgrade & integrate Adobe Coldfusion MX7 with Flex 2 http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:263217 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Using Iif and De together...
I think that's what I was missing guys. The extra set of quotes on the final argument. Thanks Michael and jedihomer -Original Message- From: Michael Dinowitz [mailto:[EMAIL PROTECTED] Sent: Thursday, December 07, 2006 9:48 AM To: CF-Talk Subject: Re: Using Iif and De together... Two points. The first is that any variable or function used in the last 2 arguments will be evaluated both before and after the tag runs and DE is used only to quote a variable/function rather than forcing the programmer to do it themselves. That being said, the problem is probably in your second argument. Before the function is processed, the trim function will run and the Trim(FORM.listing_openhouse) will be replaced with text. If this is 'true' then the result of the trim will be treated as a variable, not as a value. I'd rewrite the function as: IIf(NOT StructKeyExists(FORM, 'listing_openhouse'), 'Trim(FORM.listing_openhouse)', '"N"') The second argument is escaped and will only be evaluated if it is 'true'. The third argument is double escaped which is exactly what De would do for you. This should work for you. >I KNOW that I've used this method successfully before, but for some reason >it's not working correctly now. > >I've got a radio button in a form. I want to make sure that button is there, >and if so use it's value. It it's not there then I want the string "N": > >IIf(NOT >StructKeyExists(FORM,"listing_openhouse"),Trim(FORM.listing_openhouse),De(" N >")) > >I'm using this so that I can put it on one line. It's more cosmetic than >necessary, but it should be working and I'm not sure why it isn't. > >Anyone have any ideas? > >andy matthews >web developer >certified advanced coldfusion programmer >ICGLink, Inc. >[EMAIL PROTECTED] >615.370.1530 x737 >--//-> ~| Create robust enterprise, web RIAs. Upgrade & integrate Adobe Coldfusion MX7 with Flex 2 http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:263164 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Using Iif and De together...
Two points. The first is that any variable or function used in the last 2 arguments will be evaluated both before and after the tag runs and DE is used only to quote a variable/function rather than forcing the programmer to do it themselves. That being said, the problem is probably in your second argument. Before the function is processed, the trim function will run and the Trim(FORM.listing_openhouse) will be replaced with text. If this is 'true' then the result of the trim will be treated as a variable, not as a value. I'd rewrite the function as: IIf(NOT StructKeyExists(FORM, 'listing_openhouse'), 'Trim(FORM.listing_openhouse)', '"N"') The second argument is escaped and will only be evaluated if it is 'true'. The third argument is double escaped which is exactly what De would do for you. This should work for you. >I KNOW that I've used this method successfully before, but for some reason >it's not working correctly now. > >I've got a radio button in a form. I want to make sure that button is there, >and if so use it's value. It it's not there then I want the string "N": > >IIf(NOT >StructKeyExists(FORM,"listing_openhouse"),Trim(FORM.listing_openhouse),De("N >")) > >I'm using this so that I can put it on one line. It's more cosmetic than >necessary, but it should be working and I'm not sure why it isn't. > >Anyone have any ideas? > >andy matthews >web developer >certified advanced coldfusion programmer >ICGLink, Inc. >[EMAIL PROTECTED] >615.370.1530 x737 >--//-> ~| Create robust enterprise, web RIAs. Upgrade & integrate Adobe Coldfusion MX7 with Flex 2 http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:263162 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: Using Iif and De together...
IIf(StructKeyExists(FORM, "listing_openhouse"), 'Trim(FORM.listing_openhouse)', '"N"') *should* do it :) On 07/12/06, Andy Matthews <[EMAIL PROTECTED]> wrote: > I KNOW that I've used this method successfully before, but for some reason > it's not working correctly now. > > I've got a radio button in a form. I want to make sure that button is there, > and if so use it's value. It it's not there then I want the string "N": > > IIf(NOT > StructKeyExists(FORM,"listing_openhouse"),Trim(FORM.listing_openhouse),De("N > ")) > > I'm using this so that I can put it on one line. It's more cosmetic than > necessary, but it should be working and I'm not sure why it isn't. > > Anyone have any ideas? > > andy matthews > web developer > certified advanced coldfusion programmer > ICGLink, Inc. > [EMAIL PROTECTED] > 615.370.1530 x737 > --//-> > > > ~| Create robust enterprise, web RIAs. Upgrade & integrate Adobe Coldfusion MX7 with Flex 2 http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:263161 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Using Iif and De together...
I KNOW that I've used this method successfully before, but for some reason it's not working correctly now. I've got a radio button in a form. I want to make sure that button is there, and if so use it's value. It it's not there then I want the string "N": IIf(NOT StructKeyExists(FORM,"listing_openhouse"),Trim(FORM.listing_openhouse),De("N ")) I'm using this so that I can put it on one line. It's more cosmetic than necessary, but it should be working and I'm not sure why it isn't. Anyone have any ideas? ~| Create robust enterprise, web RIAs. Upgrade & integrate Adobe Coldfusion MX7 with Flex 2 http://ad.doubleclick.net/clk;56760587;14748456;a?http://www.adobe.com/products/coldfusion/flex2/?sdid=LVNU Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:263158 Subscription: http://www.houseoffusion.com/groups/CF-Talk/subscribe.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: iif: am I understanding correctly?
Well we all know what the industry standard has been, but it seems that in real world tests, iif is faster then cfif in some instances, and arguably more readable (especially if you're using it inside a select or radio/checkbox. Russ > -Original Message- > From: Mike Soultanian [mailto:[EMAIL PROTECTED] > Sent: Sunday, July 23, 2006 11:17 PM > To: CF-Talk > Subject: Re: iif: am I understanding correctly? > > I saw this written in the Coldfusion coding practices from Sean Corfield: > > http://livedocs.macromedia.com/wtg/public/coding_standards/performance.htm > l > > Performance "Don'ts" > > The following are 'negative' recommendations, e.g., "Don't do xyz...". > > Don't use evaluate() > > Avoid evaluate() unless there is no other way to write your code (and > there is almost always another way to write your code). > > Don't use iif() > > Always use cfif/cfelse instead of iif(). It is significantly faster and > more readable. > > Mike > > Russ wrote: > > I wrote some test code, and it seems that cfif and iif perform > similarly, > > and sometimes cfif ends up being slower? Is my test code flawed in some > > way? > > > > > > > > #iif(isDefined("blah"),DE("."),DE(","))# > > > > > > > > > > > > > > . > > > > , > > > > > > > > > > The time to do with IIF is #midtime-starttime# > > Time to do with cfif #endTime-midTime# > > > > Russ > > > >> -Original Message- > >> From: Munson, Jacob [mailto:[EMAIL PROTECTED] > >> Sent: Friday, July 21, 2006 6:34 PM > >> To: CF-Talk > >> Subject: RE: iif: am I understanding correctly? > >> > >>> This part of the app is not going to take heavy traffic, so > >>> the performance > >>> hit would be negligible. However going forward I will always > >>> take into > >>> consideration the possible performance implications of > >>> iif/evaluate/DE. > >> Yeah, and another thing to keep in mind when memorizing things that > >> perform better performance can change with new versions of CF. Or if > >> you move to a different app server, or different OS. That's why I said > >> I like to test my own code, if I'm worried, because I never believe the > >> 'general rules of thumb'. :) > >> > >> > >> --- > >> > >> This transmission may contain information that is privileged, > confidential > >> and/or exempt from disclosure under applicable law. If you are not the > >> intended recipient, you are hereby notified that any disclosure, > copying, > >> distribution, or use of the information contained herein (including any > >> reliance thereon) is STRICTLY PROHIBITED. If you received this > >> transmission in error, please immediately contact the sender and > destroy > >> the material in its entirety, whether in electronic or hard copy > format. > >> Thank you. A1. > >> > >> > >> > >> > > > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/groups/CF-Talk/message.cfm/messageid:247503 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: iif: am I understanding correctly?
I've seen debates around this so many times I decided to blog it: http://blogs.sanmathi.org/ashwin/2006/07/24/whento-evaluate-and-iif/ In summary - evaluate() and iif() will perform well when the expressions being evaluated remain static, since the Java classes that are compiled to process the expressions are cached in memory. If the expressions change from call to call (different sets of operators and variables), then these will be expensive, since the expressions will have to be compiled into Java classes for every call. -Original Message- From: Snake [mailto:[EMAIL PROTECTED] Sent: Monday, July 24, 2006 2:18 PM To: CF-Talk Subject: RE: iif: am I understanding correctly? This always makes me laugh. Why don't you make a page with CFIF, then run it Now use IIF() and run it What difference do you see in execution time? Bugger all. If you make a big loop that calls IIF 1000 times then you may notice a difference. Also imagine this code Now do the same thing with CFIF/CFELSE, how messy is that. Don't NOT use something just because some cycle counting freak tells you not to because you must save every possible 1000th of a millisecond. At least try it for yourself first. - Snake -Original Message- From: Mike Soultanian [mailto:[EMAIL PROTECTED] Sent: 24 July 2006 04:17 To: CF-Talk Subject: Re: iif: am I understanding correctly? Don't use iif() Always use cfif/cfelse instead of iif(). It is significantly faster and more readable. Mike ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247476 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: iif: am I understanding correctly?
This always makes me laugh. Why don't you make a page with CFIF, then run it Now use IIF() and run it What difference do you see in execution time? Bugger all. If you make a big loop that calls IIF 1000 times then you may notice a difference. Also imagine this code Now do the same thing with CFIF/CFELSE, how messy is that. Don't NOT use something just because some cycle counting freak tells you not to because you must save every possible 1000th of a millisecond. At least try it for yourself first. - Snake -Original Message- From: Mike Soultanian [mailto:[EMAIL PROTECTED] Sent: 24 July 2006 04:17 To: CF-Talk Subject: Re: iif: am I understanding correctly? Don't use iif() Always use cfif/cfelse instead of iif(). It is significantly faster and more readable. Mike ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247467 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: iif: am I understanding correctly?
I saw this written in the Coldfusion coding practices from Sean Corfield: http://livedocs.macromedia.com/wtg/public/coding_standards/performance.html Performance "Don'ts" The following are 'negative' recommendations, e.g., "Don't do xyz...". Don't use evaluate() Avoid evaluate() unless there is no other way to write your code (and there is almost always another way to write your code). Don't use iif() Always use cfif/cfelse instead of iif(). It is significantly faster and more readable. Mike Russ wrote: > I wrote some test code, and it seems that cfif and iif perform similarly, > and sometimes cfif ends up being slower? Is my test code flawed in some > way? > > > > #iif(isDefined("blah"),DE("."),DE(","))# > > > > > > > . > > , > > > > > The time to do with IIF is #midtime-starttime# > Time to do with cfif #endTime-midTime# > > Russ > >> -Original Message- >> From: Munson, Jacob [mailto:[EMAIL PROTECTED] >> Sent: Friday, July 21, 2006 6:34 PM >> To: CF-Talk >> Subject: RE: iif: am I understanding correctly? >> >>> This part of the app is not going to take heavy traffic, so >>> the performance >>> hit would be negligible. However going forward I will always >>> take into >>> consideration the possible performance implications of >>> iif/evaluate/DE. >> Yeah, and another thing to keep in mind when memorizing things that >> perform better performance can change with new versions of CF. Or if >> you move to a different app server, or different OS. That's why I said >> I like to test my own code, if I'm worried, because I never believe the >> 'general rules of thumb'. :) >> >> >> --- >> >> This transmission may contain information that is privileged, confidential >> and/or exempt from disclosure under applicable law. If you are not the >> intended recipient, you are hereby notified that any disclosure, copying, >> distribution, or use of the information contained herein (including any >> reliance thereon) is STRICTLY PROHIBITED. If you received this >> transmission in error, please immediately contact the sender and destroy >> the material in its entirety, whether in electronic or hard copy format. >> Thank you. A1. >> >> >> >> > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247446 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: iif: am I understanding correctly?
Looks like that works... and for large values of X, looks like this method is the fastest, followed by iif with DE, followed by cfif. Does this mean that it's no longer true that iif is not efficient? If I'm using it only a few times on a page, and it's a little slower then cfif, I don't really care, and if it's faster then cfif when I use it inside something that does a lot of computation, I might as well... More likely I will be using whichever statement make sense, iif inside checkboxes and select's and such and cfif elsewhere, since they are about the same. Russ > -Original Message- > From: Phillip Holmes [mailto:[EMAIL PROTECTED] > Sent: Sunday, July 23, 2006 2:26 AM > To: CF-Talk > Subject: RE: iif: am I understanding correctly? > > You must have copied the code straight off the page. The ticks that my > blog > displays are blowing up CF. > Try this. > > > variables.foo = 1; > out = IIf(variables.foo NEQ 1,"'aString1'","'aString2'"); > writeOutput(out); > > > > Warmest Regards, > > Phillip B. Holmes > http://phillipholmes.com > 214-995-6175 (cell) > > > > > > > -Original Message- > From: Russ [mailto:[EMAIL PROTECTED] > Sent: Sunday, July 23, 2006 1:11 AM > To: CF-Talk > Subject: RE: iif: am I understanding correctly? > > I'm not too sure what you're trying to do in that article, but I couldn't > get it to compile... can you explain what you're doing? > > Russ > > > -Original Message- > > From: Phillip Holmes [mailto:[EMAIL PROTECTED] > > Sent: Sunday, July 23, 2006 1:59 AM > > To: CF-Talk > > Subject: RE: iif: am I understanding correctly? > > > > Brad, > > > > IIF() actually compiles down to a 'short-circuited' if in java. > > > > Here is an article about how to use IIF() without having to use > > evaluate() > > - > > "IIf() without Delayed Evaluation". > > > > http://www.phillipholmes.com/?p=43 > > > > Warmest Regards, > > > > Phillip B. Holmes > > http://phillipholmes.com > > 214-995-6175 (cell) > > > > > > > > > > > > > > -Original Message- > > From: Brad Wood [mailto:[EMAIL PROTECTED] > > Sent: Sunday, July 23, 2006 12:40 AM > > To: CF-Talk > > Subject: RE: iif: am I understanding correctly? > > > > Hmm, I had always just figured that cfif and iif just compiled down to > > the exact same java anyway... > > > > I wonder if one could have an advantage over the other if the > > condition was either true or false all this worrying over a few > > microseconds > > :) > > > > ~Brad > > > > -- > > No virus found in this outgoing message. > > Checked by AVG Free Edition. > > Version: 7.1.394 / Virus Database: 268.10.1/390 - Release Date: > > 7/17/2006 > > > > > > > > > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247433 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: iif: am I understanding correctly?
I like iif() because you don't have to assign a temp variable to hold the result of the condition, or have somewhat-duplicated code within a cfif/cfelse block. M!ke -Original Message- From: Brad Wood [mailto:[EMAIL PROTECTED] Sent: Sunday, July 23, 2006 12:40 AM To: CF-Talk Subject: RE: iif: am I understanding correctly? Hmm, I had always just figured that cfif and iif just compiled down to the exact same java anyway... I wonder if one could have an advantage over the other if the condition was either true or false all this worrying over a few microseconds :) ~Brad ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247426 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: iif: am I understanding correctly?
You must have copied the code straight off the page. The ticks that my blog displays are blowing up CF. Try this. variables.foo = 1; out = IIf(variables.foo NEQ 1,"'aString1'","'aString2'"); writeOutput(out); Warmest Regards, Phillip B. Holmes http://phillipholmes.com 214-995-6175 (cell) -Original Message- From: Russ [mailto:[EMAIL PROTECTED] Sent: Sunday, July 23, 2006 1:11 AM To: CF-Talk Subject: RE: iif: am I understanding correctly? I'm not too sure what you're trying to do in that article, but I couldn't get it to compile... can you explain what you're doing? Russ > -Original Message- > From: Phillip Holmes [mailto:[EMAIL PROTECTED] > Sent: Sunday, July 23, 2006 1:59 AM > To: CF-Talk > Subject: RE: iif: am I understanding correctly? > > Brad, > > IIF() actually compiles down to a 'short-circuited' if in java. > > Here is an article about how to use IIF() without having to use > evaluate() > - > "IIf() without Delayed Evaluation". > > http://www.phillipholmes.com/?p=43 > > Warmest Regards, > > Phillip B. Holmes > http://phillipholmes.com > 214-995-6175 (cell) > > > > > > > -Original Message- > From: Brad Wood [mailto:[EMAIL PROTECTED] > Sent: Sunday, July 23, 2006 12:40 AM > To: CF-Talk > Subject: RE: iif: am I understanding correctly? > > Hmm, I had always just figured that cfif and iif just compiled down to > the exact same java anyway... > > I wonder if one could have an advantage over the other if the > condition was either true or false all this worrying over a few > microseconds > :) > > ~Brad > > -- > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.1.394 / Virus Database: 268.10.1/390 - Release Date: > 7/17/2006 > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247422 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: iif: am I understanding correctly?
I'm not too sure what you're trying to do in that article, but I couldn't get it to compile... can you explain what you're doing? Russ > -Original Message- > From: Phillip Holmes [mailto:[EMAIL PROTECTED] > Sent: Sunday, July 23, 2006 1:59 AM > To: CF-Talk > Subject: RE: iif: am I understanding correctly? > > Brad, > > IIF() actually compiles down to a 'short-circuited' if in java. > > Here is an article about how to use IIF() without having to use evaluate() > - > "IIf() without Delayed Evaluation". > > http://www.phillipholmes.com/?p=43 > > Warmest Regards, > > Phillip B. Holmes > http://phillipholmes.com > 214-995-6175 (cell) > > > > > > > -Original Message- > From: Brad Wood [mailto:[EMAIL PROTECTED] > Sent: Sunday, July 23, 2006 12:40 AM > To: CF-Talk > Subject: RE: iif: am I understanding correctly? > > Hmm, I had always just figured that cfif and iif just compiled down to the > exact same java anyway... > > I wonder if one could have an advantage over the other if the condition > was > either true or false all this worrying over a few microseconds > :) > > ~Brad > > -- > No virus found in this outgoing message. > Checked by AVG Free Edition. > Version: 7.1.394 / Virus Database: 268.10.1/390 - Release Date: 7/17/2006 > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247421 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: iif: am I understanding correctly?
Brad, IIF() actually compiles down to a 'short-circuited' if in java. Here is an article about how to use IIF() without having to use evaluate() - "IIf() without Delayed Evaluation". http://www.phillipholmes.com/?p=43 Warmest Regards, Phillip B. Holmes http://phillipholmes.com 214-995-6175 (cell) -Original Message- From: Brad Wood [mailto:[EMAIL PROTECTED] Sent: Sunday, July 23, 2006 12:40 AM To: CF-Talk Subject: RE: iif: am I understanding correctly? Hmm, I had always just figured that cfif and iif just compiled down to the exact same java anyway... I wonder if one could have an advantage over the other if the condition was either true or false all this worrying over a few microseconds :) ~Brad -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.394 / Virus Database: 268.10.1/390 - Release Date: 7/17/2006 ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247420 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: iif: am I understanding correctly?
Hmm, I had always just figured that cfif and iif just compiled down to the exact same java anyway... I wonder if one could have an advantage over the other if the condition was either true or false all this worrying over a few microseconds :) ~Brad -Original Message- From: Russ [mailto:[EMAIL PROTECTED] Sent: Sunday, July 23, 2006 12:30 AM To: CF-Talk Subject: RE: iif: am I understanding correctly? I wrote some test code, and it seems that cfif and iif perform similarly, and sometimes cfif ends up being slower? Is my test code flawed in some way? #iif(isDefined("blah"),DE("."),DE(","))# . , The time to do with IIF is #midtime-starttime# Time to do with cfif #endTime-midTime# Russ > -Original Message- > From: Munson, Jacob [mailto:[EMAIL PROTECTED] > Sent: Friday, July 21, 2006 6:34 PM > To: CF-Talk > Subject: RE: iif: am I understanding correctly? > > > This part of the app is not going to take heavy traffic, so > > the performance > > hit would be negligible. However going forward I will always > > take into > > consideration the possible performance implications of > > iif/evaluate/DE. > > Yeah, and another thing to keep in mind when memorizing things that > perform better performance can change with new versions of CF. Or if > you move to a different app server, or different OS. That's why I said > I like to test my own code, if I'm worried, because I never believe the > 'general rules of thumb'. :) > > > --- > > This transmission may contain information that is privileged, confidential > and/or exempt from disclosure under applicable law. If you are not the > intended recipient, you are hereby notified that any disclosure, copying, > distribution, or use of the information contained herein (including any > reliance thereon) is STRICTLY PROHIBITED. If you received this > transmission in error, please immediately contact the sender and destroy > the material in its entirety, whether in electronic or hard copy format. > Thank you. A1. > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247418 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: iif: am I understanding correctly?
I wrote some test code, and it seems that cfif and iif perform similarly, and sometimes cfif ends up being slower? Is my test code flawed in some way? #iif(isDefined("blah"),DE("."),DE(","))# . , The time to do with IIF is #midtime-starttime# Time to do with cfif #endTime-midTime# Russ > -Original Message- > From: Munson, Jacob [mailto:[EMAIL PROTECTED] > Sent: Friday, July 21, 2006 6:34 PM > To: CF-Talk > Subject: RE: iif: am I understanding correctly? > > > This part of the app is not going to take heavy traffic, so > > the performance > > hit would be negligible. However going forward I will always > > take into > > consideration the possible performance implications of > > iif/evaluate/DE. > > Yeah, and another thing to keep in mind when memorizing things that > perform better performance can change with new versions of CF. Or if > you move to a different app server, or different OS. That's why I said > I like to test my own code, if I'm worried, because I never believe the > 'general rules of thumb'. :) > > > --- > > This transmission may contain information that is privileged, confidential > and/or exempt from disclosure under applicable law. If you are not the > intended recipient, you are hereby notified that any disclosure, copying, > distribution, or use of the information contained herein (including any > reliance thereon) is STRICTLY PROHIBITED. If you received this > transmission in error, please immediately contact the sender and destroy > the material in its entirety, whether in electronic or hard copy format. > Thank you. A1. > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247417 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: iif: am I understanding correctly?
> This part of the app is not going to take heavy traffic, so > the performance > hit would be negligible. However going forward I will always > take into > consideration the possible performance implications of > iif/evaluate/DE. Yeah, and another thing to keep in mind when memorizing things that perform better performance can change with new versions of CF. Or if you move to a different app server, or different OS. That's why I said I like to test my own code, if I'm worried, because I never believe the 'general rules of thumb'. :) --- This transmission may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. A1. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247393 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: iif: am I understanding correctly?
Josh, I am right with you on that point! I am a huge fan of learning by doing! Keep it up. ... Ben Nadel www.bennadel.com -Original Message- From: Josh Nathanson [mailto:[EMAIL PROTECTED] Sent: Friday, July 21, 2006 6:10 PM To: CF-Talk Subject: Re: iif: am I understanding correctly? This part of the app is not going to take heavy traffic, so the performance hit would be negligible. However going forward I will always take into consideration the possible performance implications of iif/evaluate/DE. Ben -- I guess I like messing around with stuff like this (iif, evaluate etc.) because I feel like I don't fully understand it, and if I can get it to work as desired, maybe I can come to a better understanding of how certain things in CF work in a more general sense. -- Josh - Original Message - From: "Munson, Jacob" <[EMAIL PROTECTED]> To: "CF-Talk" Sent: Friday, July 21, 2006 2:52 PM Subject: RE: iif: am I understanding correctly? >> OK, I ran cftimer on both examples, iif and the if/else way, >> and both came >> back 0 ms. So I think in this case, since it's only looping >> over 10 list >> items or whatever, I'll stick with the leaner code. Maybe if >> you were >> looping over thousands of list elements or query rows or >> something, there'd >> be a more noticeable performance hit. > > Interesting. However, if your app ever need's to scale, it /could/ end > up being thousands of list elements, if hundreds of people are firing > that code simultaneously. That's why I usually try to simulate some > traffic by putting the pieces of code I want to test in a loop that runs > thousands of times. It's not the best way to test (a load tester would > be better), but it gives you a better idea. Of course, none of this is > relevant if you know your app will never have that much traffic. :) > > > - > > This transmission may contain information that is privileged, confidential > and/or exempt from disclosure under applicable law. If you are not the > intended recipient, you are hereby notified that any disclosure, copying, > distribution, or use of the information contained herein (including any > reliance thereon) is STRICTLY PROHIBITED. If you received this > transmission in error, please immediately contact the sender and destroy > the material in its entirety, whether in electronic or hard copy format. > Thank you. A1. > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247392 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Re: iif: am I understanding correctly?
This part of the app is not going to take heavy traffic, so the performance hit would be negligible. However going forward I will always take into consideration the possible performance implications of iif/evaluate/DE. Ben -- I guess I like messing around with stuff like this (iif, evaluate etc.) because I feel like I don't fully understand it, and if I can get it to work as desired, maybe I can come to a better understanding of how certain things in CF work in a more general sense. -- Josh - Original Message - From: "Munson, Jacob" <[EMAIL PROTECTED]> To: "CF-Talk" Sent: Friday, July 21, 2006 2:52 PM Subject: RE: iif: am I understanding correctly? >> OK, I ran cftimer on both examples, iif and the if/else way, >> and both came >> back 0 ms. So I think in this case, since it's only looping >> over 10 list >> items or whatever, I'll stick with the leaner code. Maybe if >> you were >> looping over thousands of list elements or query rows or >> something, there'd >> be a more noticeable performance hit. > > Interesting. However, if your app ever need's to scale, it /could/ end > up being thousands of list elements, if hundreds of people are firing > that code simultaneously. That's why I usually try to simulate some > traffic by putting the pieces of code I want to test in a loop that runs > thousands of times. It's not the best way to test (a load tester would > be better), but it gives you a better idea. Of course, none of this is > relevant if you know your app will never have that much traffic. :) > > > - > > This transmission may contain information that is privileged, confidential > and/or exempt from disclosure under applicable law. If you are not the > intended recipient, you are hereby notified that any disclosure, copying, > distribution, or use of the information contained herein (including any > reliance thereon) is STRICTLY PROHIBITED. If you received this > transmission in error, please immediately contact the sender and destroy > the material in its entirety, whether in electronic or hard copy format. > Thank you. A1. > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247390 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: iif: am I understanding correctly?
> OK, I ran cftimer on both examples, iif and the if/else way, > and both came > back 0 ms. So I think in this case, since it's only looping > over 10 list > items or whatever, I'll stick with the leaner code. Maybe if > you were > looping over thousands of list elements or query rows or > something, there'd > be a more noticeable performance hit. Interesting. However, if your app ever need's to scale, it /could/ end up being thousands of list elements, if hundreds of people are firing that code simultaneously. That's why I usually try to simulate some traffic by putting the pieces of code I want to test in a loop that runs thousands of times. It's not the best way to test (a load tester would be better), but it gives you a better idea. Of course, none of this is relevant if you know your app will never have that much traffic. :) - This transmission may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. A1. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247387 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: iif: am I understanding correctly?
My experience with IIF() is not great, by do the 2/3 arguments have to be string expressions I think... From the docs: If result is True, returns the value of Evaluate(string_expression1); otherwise, returns the value of Evaluate(string_expression2). This, to me, is more of a deterent than the timing. I would rather just pass real values around... But I if the scenario was complicated, you wouldn't be using short hand IF statements. Just my 2 cents. ... Ben Nadel www.bennadel.com -Original Message- From: Josh Nathanson [mailto:[EMAIL PROTECTED] Sent: Friday, July 21, 2006 5:30 PM To: CF-Talk Subject: Re: iif: am I understanding correctly? OK, I ran cftimer on both examples, iif and the if/else way, and both came back 0 ms. So I think in this case, since it's only looping over 10 list items or whatever, I'll stick with the leaner code. Maybe if you were looping over thousands of list elements or query rows or something, there'd be a more noticeable performance hit. -- Josh - Original Message - From: "Munson, Jacob" <[EMAIL PROTECTED]> To: "CF-Talk" Sent: Friday, July 21, 2006 2:05 PM Subject: RE: iif: am I understanding correctly? > Yeah, it should. But the question is, is that faster or not? Without > running some tests with cftimer, I'm not sure. But I'm always a fan of > using less code, as long as it doesn't kill the server. :) > >> -Original Message- >> From: loathe [mailto:[EMAIL PROTECTED] >> Sent: Friday, July 21, 2006 3:00 PM >> >> >> >> >> >> >> >> Does the same thing right? >> >> > -----Original Message- >> > From: Munson, Jacob [mailto:[EMAIL PROTECTED] >> > Sent: Friday, July 21, 2006 4:43 PM >> > To: CF-Talk >> > Subject: RE: iif: am I understanding correctly? >> > >> > Does it? I'm assuming you're referring to dynamic variables (from >> > reading your other reply), but my cfif example has a >> dynamic variable as >> > well. >> > >> > > -Original Message- >> > > From: loathe [mailto:[EMAIL PROTECTED] >> > > Sent: Friday, July 21, 2006 2:37 PM >> > > >> > > But it executes much faster. > > This transmission may contain information that is privileged, confidential > and/or exempt from disclosure under applicable law. If you are not the > intended recipient, you are hereby notified that any disclosure, copying, > distribution, or use of the information contained herein (including any > reliance thereon) is STRICTLY PROHIBITED. If you received this > transmission in error, please immediately contact the sender and destroy > the material in its entirety, whether in electronic or hard copy format. > Thank you. A1. > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247386 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: iif: am I understanding correctly?
OK, I ran cftimer on both examples, iif and the if/else way, and both came back 0 ms. So I think in this case, since it's only looping over 10 list items or whatever, I'll stick with the leaner code. Maybe if you were looping over thousands of list elements or query rows or something, there'd be a more noticeable performance hit. -- Josh - Original Message - From: "Munson, Jacob" <[EMAIL PROTECTED]> To: "CF-Talk" Sent: Friday, July 21, 2006 2:05 PM Subject: RE: iif: am I understanding correctly? > Yeah, it should. But the question is, is that faster or not? Without > running some tests with cftimer, I'm not sure. But I'm always a fan of > using less code, as long as it doesn't kill the server. :) > >> -Original Message- >> From: loathe [mailto:[EMAIL PROTECTED] >> Sent: Friday, July 21, 2006 3:00 PM >> >> >> >> >> >> >> >> Does the same thing right? >> >> > -Original Message- >> > From: Munson, Jacob [mailto:[EMAIL PROTECTED] >> > Sent: Friday, July 21, 2006 4:43 PM >> > To: CF-Talk >> > Subject: RE: iif: am I understanding correctly? >> > >> > Does it? I'm assuming you're referring to dynamic variables (from >> > reading your other reply), but my cfif example has a >> dynamic variable as >> > well. >> > >> > > -Original Message- >> > > From: loathe [mailto:[EMAIL PROTECTED] >> > > Sent: Friday, July 21, 2006 2:37 PM >> > > >> > > But it executes much faster. > > This transmission may contain information that is privileged, confidential > and/or exempt from disclosure under applicable law. If you are not the > intended recipient, you are hereby notified that any disclosure, copying, > distribution, or use of the information contained herein (including any > reliance thereon) is STRICTLY PROHIBITED. If you received this > transmission in error, please immediately contact the sender and destroy > the material in its entirety, whether in electronic or hard copy format. > Thank you. A1. > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247380 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: iif: am I understanding correctly?
Yeah, it should. But the question is, is that faster or not? Without running some tests with cftimer, I'm not sure. But I'm always a fan of using less code, as long as it doesn't kill the server. :) > -Original Message- > From: loathe [mailto:[EMAIL PROTECTED] > Sent: Friday, July 21, 2006 3:00 PM > > > > > > > > Does the same thing right? > > > -Original Message- > > From: Munson, Jacob [mailto:[EMAIL PROTECTED] > > Sent: Friday, July 21, 2006 4:43 PM > > To: CF-Talk > > Subject: RE: iif: am I understanding correctly? > > > > Does it? I'm assuming you're referring to dynamic variables (from > > reading your other reply), but my cfif example has a > dynamic variable as > > well. > > > > > -Original Message- > > > From: loathe [mailto:[EMAIL PROTECTED] > > > Sent: Friday, July 21, 2006 2:37 PM > > > > > > But it executes much faster. This transmission may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. A1. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247369 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
RE: iif: am I understanding correctly?
Does the same thing right? > -Original Message- > From: Munson, Jacob [mailto:[EMAIL PROTECTED] > Sent: Friday, July 21, 2006 4:43 PM > To: CF-Talk > Subject: RE: iif: am I understanding correctly? > > Does it? I'm assuming you're referring to dynamic variables (from > reading your other reply), but my cfif example has a dynamic variable as > well. > > > -Original Message- > > From: loathe [mailto:[EMAIL PROTECTED] > > Sent: Friday, July 21, 2006 2:37 PM > > > > But it executes much faster. > > > > > -Original Message- > > > From: Munson, Jacob [mailto:[EMAIL PROTECTED] > > > Sent: Friday, July 21, 2006 4:22 PM > > > > > > Here's how I understand iif: If the condition is true, > > return the 2nd > > > parameter, otherwise return the 3rd. > > > > > > So in your example, if (didquery and didfind) returns true, the code > > > will evaluate getCust.#i#. Otherwise it will evaluate DE(""). > > > > > > iif is basically just a shorter cfif statement, using your > > example iif, > > > this would do the same thing: > > > > > > But that takes a lot more code. > > This transmission may contain information that is privileged, confidential > and/or exempt from disclosure under applicable law. If you are not the > intended recipient, you are hereby notified that any disclosure, copying, > distribution, or use of the information contained herein (including any > reliance thereon) is STRICTLY PROHIBITED. If you received this > transmission in error, please immediately contact the sender and destroy > the material in its entirety, whether in electronic or hard copy format. > Thank you. A1. > > > > ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247365 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: iif: am I understanding correctly?
Does it? I'm assuming you're referring to dynamic variables (from reading your other reply), but my cfif example has a dynamic variable as well. > -Original Message- > From: loathe [mailto:[EMAIL PROTECTED] > Sent: Friday, July 21, 2006 2:37 PM > > But it executes much faster. > > > -Original Message- > > From: Munson, Jacob [mailto:[EMAIL PROTECTED] > > Sent: Friday, July 21, 2006 4:22 PM > > > > Here's how I understand iif: If the condition is true, > return the 2nd > > parameter, otherwise return the 3rd. > > > > So in your example, if (didquery and didfind) returns true, the code > > will evaluate getCust.#i#. Otherwise it will evaluate DE(""). > > > > iif is basically just a shorter cfif statement, using your > example iif, > > this would do the same thing: > > > > > > > > > > > > > > But that takes a lot more code. This transmission may contain information that is privileged, confidential and/or exempt from disclosure under applicable law. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution, or use of the information contained herein (including any reliance thereon) is STRICTLY PROHIBITED. If you received this transmission in error, please immediately contact the sender and destroy the material in its entirety, whether in electronic or hard copy format. Thank you. A1. ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247360 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
iif: am I understanding correctly?
I have some code that loops over a list of fields to cfparam some attributes. The idea is, if the query (getCust) returns a record, set the attribute to the query.column value; if no record, set the attribute to null. After some hacking around I got it to work as desired, but I don't quite understand how. What I don't get is how iif works. It seems to do the following: - Doesn't evaluate "getCust.#i#" when the page is compiled - Assuming the iif conditional evaluates true, when the list is looped, first evaluates just the "#i#" in "getCust.#i#" to return the proper field name, then evaluates the variable "getCust.FirstName" (for example) to return the correct value. So there is sort of a double evaluation going on. Am I understanding iif correctly or does someone have a better explanation as to how it works. The docs are kind of hard to fathom. -- Josh ~| Introducing the Fusion Authority Quarterly Update. 80 pages of hard-hitting, up-to-date ColdFusion information by your peers, delivered to your door four times a year. http://www.fusionauthority.com/quarterly Archive: http://www.houseoffusion.com/cf_lists/message.cfm/forumid:4/messageid:247345 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Using IIf() in query value
On Friday 02 June 2006 23:20, Jim McAtee wrote: > > INSERT INTO cctransactions ( > name, > response > ) > VALUES ( > '#form.name#', > '#IIf(StructKeyExists(authresponse, "http_response"), > "authresponse.http_response", > DE(""))#' > ) > VALUES ( , "" ) -- Tom Chiverton This email is sent for and on behalf of Halliwells LLP. Halliwells LLP is a limited liability partnership registered in England and Wales under registered number OC307980 whose registered office address is at St James's Court Brown Street Manchester M2 2JF. A list of members is available for inspection at the registered office. Any reference to a partner in relation to Halliwells LLP means a member of Halliwells LLP. Regulated by the Law Society. CONFIDENTIALITY This email is intended only for the use of the addressee named above and may be confidential or legally privileged. If you are not the addressee you must not read it and must not use any information contained in nor copy it nor inform any person other than Halliwells LLP or the addressee of its existence or contents. If you have received this email in error please delete it and notify Halliwells LLP IT Department on 0870 365 8008. For more information about Halliwells LLP visit www.halliwells.com. We are pleased to announce that Halliwells LLP has been voted AIM Lawyer of the Year at the 2005 Growth Company Awards ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:242397 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Using IIf() in query value
My hazy memory tells me, if you use any functions on a variable in a cfquery, it does not escape that string. Trim, iif, listGetAt. etc. For this reason, I manipulate all the variables before I try to use them in a cfquery. Jerry On 6/2/06, Jim McAtee <[EMAIL PROTECTED]> wrote: > I'm working in CF5. I thought single quotes within strings were always > escaped in a cfquery. I have a query using an IIf() in the value and this > doesn't appear to be the case. Does this have something to do with how > I'm doing the evaluation of the second argument in the IIf() below? > > In this simplification of the query the single quote within the first > string is escaped, but the second one is not, causing an error. > > form.name = "John O'Mara" > authresponse.http_response = "1|1|1|John O'Mara|approved" > > > INSERT INTO cctransactions ( > name, > response > ) > VALUES ( > '#form.name#', > '#IIf(StructKeyExists(authresponse, "http_response"), > "authresponse.http_response", > DE(""))#' > ) > > > > ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:242163 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Using IIf() in query value
I'm working in CF5. I thought single quotes within strings were always escaped in a cfquery. I have a query using an IIf() in the value and this doesn't appear to be the case. Does this have something to do with how I'm doing the evaluation of the second argument in the IIf() below? In this simplification of the query the single quote within the first string is escaped, but the second one is not, causing an error. form.name = "John O'Mara" authresponse.http_response = "1|1|1|John O'Mara|approved" INSERT INTO cctransactions ( name, response ) VALUES ( '#form.name#', '#IIf(StructKeyExists(authresponse, "http_response"), "authresponse.http_response", DE(""))#' ) ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:242161 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
RE: The IIf function
It used to be, but is not so anymore, that IIF() was slower than . It also used to be true, although I don't think it is any more, that all of the expressions in an IIF() are evaluated even if not used. Not true of . I know in older versions this would cause an error: #iif(isDefined("myVar"),"myVar","'undefined'"))# However, this wouldn't: #myVar# undefined Yeah, I thought it was pretty goofy too. I only ever really use iif() in situations like this: #qOptions.option_name# I think it's very bad style to put CF tags inside HTML tags. -Original Message- From: Matthew Chambers [mailto:[EMAIL PROTECTED] Sent: Monday, May 01, 2006 7:40 PM To: CF-Talk Subject: The IIf function Hi all, Am I correct in saying that the IIf function and the tag work differently on the following scenerio. In the CFIF tag, when the CFIF fails it will "jump over" the code which follows until a CFELSEIF, CFELSE or CFIF. Here's an example: -- The cfif failed so this text is not run. More to the point this code is not run, KILL DATABASE --- Where as with the IIf function, CF will still test that the code for both the true and false cases will work? This is dumb, because the whole point for an IF is to check that you will have everything you need to run the code when it returns true. :::CFIF eg::: :::IIf eg::: Iif(IsDefined("foo"),DE(foo=foo+1),DE('whatever')) Any thoughts? Cheers ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:239234 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: The IIf function
IIF() is shorthand replacement for IF/THEN/ELSE. Other langs have IIF() too, eh? Thus foo is 5 foo is not 5 is equivalent to IIF(foo IS 5, "'foo is 5'", "'foo is not 5'") *note...mind the quotes! "' is double quote followed by single quote DK On 5/1/06, Matthew Chambers <[EMAIL PROTECTED]> wrote: > Hi all, > > Am I correct in saying that the IIf function and the tag work > differently on the following scenerio. In the CFIF tag, when the CFIF fails > it will "jump over" the code which follows until a CFELSEIF, CFELSE or CFIF. > Here's an example: > -- > > The cfif failed so this text is not run. More to the point this code is not > run, KILL DATABASE > > --- > Where as with the IIf function, CF will still test that the code for both the > true and false cases will work? This is dumb, because the whole point for an > IF is to check that you will have everything you need to run the code when it > returns true. > :::CFIF eg::: > > > > :::IIf eg::: > Iif(IsDefined("foo"),DE(foo=foo+1),DE('whatever')) > > Any thoughts? > Cheers > > > ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:239217 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
The IIf function
Hi all, Am I correct in saying that the IIf function and the tag work differently on the following scenerio. In the CFIF tag, when the CFIF fails it will "jump over" the code which follows until a CFELSEIF, CFELSE or CFIF. Here's an example: -- The cfif failed so this text is not run. More to the point this code is not run, KILL DATABASE --- Where as with the IIf function, CF will still test that the code for both the true and false cases will work? This is dumb, because the whole point for an IF is to check that you will have everything you need to run the code when it returns true. :::CFIF eg::: :::IIf eg::: Iif(IsDefined("foo"),DE(foo=foo+1),DE('whatever')) Any thoughts? Cheers ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:239205 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: IIF help
Mingo Hagen wrote: > > no quotes in the first argument. thanks everyone.. the quotes were the issue. Rick ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:237846 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
RE: IIF help
Rick... It appears you've got quotes around your expression. Remove those and you should be good. -Original Message- From: Rick Root [mailto:[EMAIL PROTECTED] Sent: Friday, April 14, 2006 7:02 AM To: CF-Talk Subject: IIF help I always have trouble using IIF... Why doesn't this work? It gives me this error: Parameter validation error for function IIF. The value of the parameter 1, which is currently "lcase(server.os.name) contains 'windows'", must be a boolean value. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:237743 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: IIF help
iif( lcase(server.os.name) contains 'windows', de( "\" ), de( "/" ) ) no quotes in the first argument. -- Met vriendelijke groet / Kind regards Mingo J. Hagen. E-Line Websolutions B.V.Herenweg 160 2101 MT Heemstede phone: +31620 775444 fax: +3123 5471920 fax [mingo]: +3184 7594914 e-mail / msn: [EMAIL PROTECTED] skype: mjhagen icq: 4775556 url: www.e-line.ws ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:237742 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: IIF help
try that, eh? Also, no need for DE(), just use all teh quotes luke! " ' foo ' " like that DK On 4/14/06, Rick Root <[EMAIL PROTECTED]> wrote: > I always have trouble using IIF... > > Why doesn't this work? > > 'windows'",de("/"),de("\"))> > > It gives me this error: > > Parameter validation error for function IIF. > The value of the parameter 1, which is currently "lcase(server.os.name) > contains 'windows'", must be a boolean value. > > ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:237741 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
RE: IIF help
Try this: Al Everett (Contractor) DIGICON Corporation National Institute of General Medical Science Information Resources Management Branch [EMAIL PROTECTED] 301.594.4082 -Original Message- From: Rick Root [mailto:[EMAIL PROTECTED] Sent: Friday, April 14, 2006 8:02 AM To: CF-Talk Subject: IIF help I always have trouble using IIF... Why doesn't this work? It gives me this error: Parameter validation error for function IIF. The value of the parameter 1, which is currently "lcase(server.os.name) contains 'windows'", must be a boolean value. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:237740 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
IIF help
I always have trouble using IIF... Why doesn't this work? It gives me this error: Parameter validation error for function IIF. The value of the parameter 1, which is currently "lcase(server.os.name) contains 'windows'", must be a boolean value. ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:237739 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: IIf() - Mix literal with variable evaluation
On 1/9/06, Jim McAtee <[EMAIL PROTECTED]> wrote: > I always run into this, and I've probably come across a solution, but > forgotten it. In an IIf() I can easily return the value of a varible by > surrounding it in quotes, or return a literal by using DE(), but how to > use both? What would be the correct syntax to use in the first argument > to IIf() in the following example: > > > > > ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:228948 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
IIf() - Mix literal with variable evaluation
I always run into this, and I've probably come across a solution, but forgotten it. In an IIf() I can easily return the value of a varible by surrounding it in quotes, or return a literal by using DE(), but how to use both? What would be the correct syntax to use in the first argument to IIf() in the following example: ~| Message: http://www.houseoffusion.com/lists.cfm/link=i:4:228934 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: Syntax for IIF statement in report writer
Due to the double evaluation nature of IIF, you have to double escape text results in IIF. For example: IIF(1 eq 1, '"one"', '"not one"') What you see there is single quotes around double quotes. This can also be done with the DE() function, but that's a waste in my mind. http://www.fusionauthority.com/Techniques/Article.cfm/ArticleID:2531 >I am using the CF report builder and having a tough time with a > conditional statement. > > What I want to achieve is a field on the report that says either "C" or > "FFS" > > What I want this to say is... If #query.capdate" is before January 1, > 1900, show "FFS", otherwise show "C" > > How do I make this work on the field in the report writer? I have tried > four billion things and keep getting an error saying that C is not a > valid variable name! > > ** > This email and any files transmitted with it are confidential and > intended solely for the use of the individual or entity to whom they > are addressed. If you have received this email in error please delete it > from your system. > > This footnote also confirms that this email message has been swept for > the presence of computer viruses. > > Thank You, > Viahealth > ** > > > ~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:226249 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Syntax for IIF statement in report writer
I am using the CF report builder and having a tough time with a conditional statement. What I want to achieve is a field on the report that says either "C" or "FFS" What I want this to say is... If #query.capdate" is before January 1, 1900, show "FFS", otherwise show "C" How do I make this work on the field in the report writer? I have tried four billion things and keep getting an error saying that C is not a valid variable name! ** This email and any files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please delete it from your system. This footnote also confirms that this email message has been swept for the presence of computer viruses. Thank You, Viahealth ** ~| Find out how CFTicket can increase your company's customer support efficiency by 100% http://www.houseoffusion.com/banners/view.cfm?bannerid=49 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:226246 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54
Re: iif in MSSQL
Perfect. Thankyou! -- Regards; Richard Meredith-Hardy - r[dot]mh[at]flymicro[dot]com Tel: + 44 (0)1462 834776 FAX: + 44 (0)1462 732668 [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: iif in MSSQL
http://www.extremeexperts.com/sql/faq/IIForDecode.aspx - Original Message - From: Richard Meredith-Hardy <[EMAIL PROTECTED]> Date: Mon, 20 Sep 2004 10:36:13 +0100 Subject: iif in MSSQL To: CF-Talk <[EMAIL PROTECTED]> dear all is there a way of doing the following in a query to MSSQL like you can to access? SELECT field1, field2, iif(field1 = field2,'same','different') AS mynote FROM mytable WHERE etc I appreciate it could be done in a SP or by analysing the output but in this case it is easier not to... thanks -- Regards; Richard Meredith-Hardy - r[dot]mh[at]flymicro[dot]com Tel: + 44 (0)1462 834776 FAX: + 44 (0)1462 732668 [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: iif in MSSQL
Richard Meredith-Hardy wrote: > > is there a way of doing the following in a query to MSSQL like you can > to access? > > SELECT field1, field2, iif(field1 = field2,'same','different') AS mynote > FROM mytable > WHERE etc Look up the "CASE .. WHEN .. THEN blabla" statement. Maybe even Access understands this nowadays. Jochem [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: iif in MSSQL
> is there a way of doing the following in a query to MSSQL like you can > to access? > > SELECT field1, field2, iif(field1 = field2,'same','different') AS mynote > FROM mytable > WHERE etc > > I appreciate it could be done in a SP or by analysing the output but in > this case it is easier not to... > Check the docs for "CASE". The T-SQL equivalent should be something like: SELECT field1, field2, (CASE WHEN (field1 = field2) THEN 'same' ELSE 'different' END) AS mynote FROM mytable Maybe it's not worth creating a dedicated SP, but you could still but it inside a view and embed just a minum amount of SQL inside your CFML. You would end up with something like: SELECT * FROM my View WHERE etc Massimo Foti http://www.massimocorner.com [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
iif in MSSQL
dear all is there a way of doing the following in a query to MSSQL like you can to access? SELECT field1, field2, iif(field1 = field2,'same','different') AS mynote FROM mytable WHERE etc I appreciate it could be done in a SP or by analysing the output but in this case it is easier not to... thanks -- Regards; Richard Meredith-Hardy - r[dot]mh[at]flymicro[dot]com Tel: + 44 (0)1462 834776 FAX: + 44 (0)1462 732668 [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
RE: Quickbooks IIF files???
Thanks to both of the Mark's... I will try out the second solution. Sometimes you just gotta know where to look for the right info! Ray At 01:51 PM 8/23/2004, you wrote: >You are correct - the iif file is pretty much a comma delimited ascii >file. The >answer you need is actually in the quickbooks help files - here's an excerpt. > >-Mark > >--- > >You may also want to refer to the Reference Guide to Import Files > >Note: These instructions are rather long. You may want to print them >instead of >reading them onscreen. To print them, click Options and then choose Print >Topic. > >If you've been using another financial software product, and you'd like to >import information from that product into QuickBooks, you can do so if the >product allows you to export to a spreadsheet or text file. You can import >lists >that correspond to QuickBooks lists, budgets, and individual transactions. > >Tip: The easiest way to see and understand the format QuickBooks needs to >import >data is to export some of your QuickBooks lists and view the resulting >file in a >spreadsheet. If you don't already have a QuickBooks company, you can export >lists from the sample data (sample_product-based business. Qbw or >sample_service-based business.qbw). > >1 Open the spreadsheet that contains the data. >2 Move the contents of all the cells in your spreadsheet one column to the >right >so that the first column is blank. >3 Move the contents of all the cells down by one row so that the first row is >blank. >4 Check the structure of the spreadsheet. If it contains more than one type of >listor a mixture of lists, budgets, and transactionsmake sure that each >type of >information has its own block in the spreadsheet. The blocks should follow >each >other vertically. Insert a blank row of cells to separate the blocks. > >For example, it you have a list of customers and a list of vendors, all the >customer data should be in one block and all the vendor information should >be in >another block. > >5 In the first cell in the blank row above each block of information, >enter one >of the keywords shown in this table. Be sure to include the exclamation point >(!). > >Type this text. . . If the block contains >!ACCNT Details about your chart of accounts. >!CUST A customer address or phone list. >!VEND A vendor address or phone list. >!EMP A list of employees. >!OTHERNAME A list of names you'd like to add to QuickBooks Other Name list. >!BUD Budget details. >!CLASS A list of general classifications you'd like to add to QuickBooks Class >list. >!CTYPE A list of customer classifications you'd like to add to QuickBooks >Customer Type list. >!INVITEM Details about the line items you use on sales and purchase forms. >!INVMEMO Messages you'd like to add to QuickBooks Customer Message list. >!PAYMETH A list of payment methods you'd like to add to QuickBooks Payment >Method list. >!SHIPMETH A list of shipping methods you'd like to add to QuickBooks Ship Via >list. >!TERMS A list of payment terms you'd like to add to QuickBooks Terms list. >!TIMEACT Details about activities you timed with the QuickBooks Pro Timer. >Works >with !TIMERHDR. >!TIMERHDR QuickBooks Pro Timer data. >!TODO A list of upcoming "to do" tasks you want QuickBooks to remind you >about. >!TRNS Transactions. >!VTYPE A list of vendor classifications you'd like to add to QuickBooks Vendor >Type list. >For example, if the spreadsheet contains a list of customers and then a >list of >vendors, the structure of the spreadsheet would be as follows: >!CUST >[List of customers] >!VEND >[List of vendors] > > > > > [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
RE: Quickbooks IIF files???
You are correct - the iif file is pretty much a comma delimited ascii file. The answer you need is actually in the quickbooks help files - here's an excerpt. -Mark --- You may also want to refer to the Reference Guide to Import Files Note: These instructions are rather long. You may want to print them instead of reading them onscreen. To print them, click Options and then choose Print Topic. If you've been using another financial software product, and you'd like to import information from that product into QuickBooks, you can do so if the product allows you to export to a spreadsheet or text file. You can import lists that correspond to QuickBooks lists, budgets, and individual transactions. Tip: The easiest way to see and understand the format QuickBooks needs to import data is to export some of your QuickBooks lists and view the resulting file in a spreadsheet. If you don't already have a QuickBooks company, you can export lists from the sample data (sample_product-based business. Qbw or sample_service-based business.qbw). 1 Open the spreadsheet that contains the data. 2 Move the contents of all the cells in your spreadsheet one column to the right so that the first column is blank. 3 Move the contents of all the cells down by one row so that the first row is blank. 4 Check the structure of the spreadsheet. If it contains more than one type of listor a mixture of lists, budgets, and transactionsmake sure that each type of information has its own block in the spreadsheet. The blocks should follow each other vertically. Insert a blank row of cells to separate the blocks. For example, it you have a list of customers and a list of vendors, all the customer data should be in one block and all the vendor information should be in another block. 5 In the first cell in the blank row above each block of information, enter one of the keywords shown in this table. Be sure to include the exclamation point (!). Type this text. . . If the block contains !ACCNT Details about your chart of accounts. !CUST A customer address or phone list. !VEND A vendor address or phone list. !EMP A list of employees. !OTHERNAME A list of names you'd like to add to QuickBooks Other Name list. !BUD Budget details. !CLASS A list of general classifications you'd like to add to QuickBooks Class list. !CTYPE A list of customer classifications you'd like to add to QuickBooks Customer Type list. !INVITEM Details about the line items you use on sales and purchase forms. !INVMEMO Messages you'd like to add to QuickBooks Customer Message list. !PAYMETH A list of payment methods you'd like to add to QuickBooks Payment Method list. !SHIPMETH A list of shipping methods you'd like to add to QuickBooks Ship Via list. !TERMS A list of payment terms you'd like to add to QuickBooks Terms list. !TIMEACT Details about activities you timed with the QuickBooks Pro Timer. Works with !TIMERHDR. !TIMERHDR QuickBooks Pro Timer data. !TODO A list of upcoming "to do" tasks you want QuickBooks to remind you about. !TRNS Transactions. !VTYPE A list of vendor classifications you'd like to add to QuickBooks Vendor Type list. For example, if the spreadsheet contains a list of customers and then a list of vendors, the structure of the spreadsheet would be as follows: !CUST [List of customers] !VEND [List of vendors] [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
RE: Quickbooks IIF files???
Ray, Would something like this be of use? Take a look at the shopping cart assistant, may work on the same principle as what you're after. http://www.writeitonce.com/ Mark _ From: Ray Champagne [mailto:[EMAIL PROTECTED] Sent: Monday, August 23, 2004 12:52 PM To: CF-Talk Subject: Quickbooks IIF files??? I am currently building a timesheet application for my company, which is pretty simple. My boss wants me to save her some time by being able to take all the data that I am collecting from the employees and import it into Quickbooks. I have been google-ing this for the past hour, and what I am finding is that Quickbooks needs the import data to be in the Inuit Info File (I think that is what it stands for), or .iif format. Research on an iif file seems to show that it is just another version of a csv file. Has anyone in here ever exported from a db to Quickbooks before? I know how to create a csv file, but i just want to make sure that I am headed down the right path... Back to my googling (and not out the window at the hotties walking by either, though that IS more fun...) Thanks! Ray = Ray Champagne - Senior Application Developer CrystalVision Web Site Design and Internet Services 603.433.9559 www.crystalvision.org = The information contained in this transmission (including any attached files) is CONFIDENTIAL and is intended only for the person(s) named above. If you received this transmission in error, please delete it from your system and notify us immediately. If you are not an intended recipient, please note that any use or dissemination of the information contained in this transmission (including any attached files) and the copying, printing, or retransmission of that information is strictly prohibited. You can notify us by return email or by phone at 603.433.9559. Thank you. _ [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Quickbooks IIF files???
I am currently building a timesheet application for my company, which is pretty simple. My boss wants me to save her some time by being able to take all the data that I am collecting from the employees and import it into Quickbooks. I have been google-ing this for the past hour, and what I am finding is that Quickbooks needs the import data to be in the Inuit Info File (I think that is what it stands for), or .iif format. Research on an iif file seems to show that it is just another version of a csv file. Has anyone in here ever exported from a db to Quickbooks before? I know how to create a csv file, but i just want to make sure that I am headed down the right path... Back to my googling (and not out the window at the hotties walking by either, though that IS more fun...) Thanks! Ray = Ray Champagne - Senior Application Developer CrystalVision Web Site Design and Internet Services 603.433.9559 www.crystalvision.org = The information contained in this transmission (including any attached files) is CONFIDENTIAL and is intended only for the person(s) named above. If you received this transmission in error, please delete it from your system and notify us immediately. If you are not an intended recipient, please note that any use or dissemination of the information contained in this transmission (including any attached files) and the copying, printing, or retransmission of that information is strictly prohibited. You can notify us by return email or by phone at 603.433.9559. Thank you. [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings] [Donations and Support]
Re: IIF doesn't work correctly
I figured it out, must not put double quotes. Bob > I correct myself, the example works, but what I'm trying to do doesn't > work. Can anyone look at this and see why it isn't working > > #iif(listlen(cgi.query_string, "&") gt 1, > Evaluate(DE("listdeleteat(listdeleteat(cgi.query_string, 1, "&"), 1, > "=")")), DE("test"))# > > The cgi query_string will have either fuseaction=login.login or > fuseaction=login.login&fa=something.else , that way if I am passing > the extra fa I want them to be redirected to that fa after login. > > > Bob > > > > > I was having some issues on IIF and thought I was using it correctly > > > so I reverified it by looking at the examples in the book and if I > > copy an example directly out of the docs, it doesn't work. Try this > in > > CFMX 6.1 #IIf(IsDefined("Form.Deliver"), Evaluate(DE("Form. > Deliver")), > > DE("no"))# > > > > That should output no and not throw an error, but on my box it does. > > > Anyone know a workaround. The livedocs can be viewed here. > > http://livedocs.macromedia.com/coldfusion/6.1/htmldocs/funct117.htm > > > > > > bob Everland [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: IIF doesn't work correctly
It's a bit overcomplicated (evaluate and de cancel each other AFAIK), but your problem is with quotes Evaluate(DE("listdeleteat(listdeleteat(cgi.query_string, 1, '&'), 1, '=')")) Pascal > -Original Message- > From: Robert Everland III [mailto:[EMAIL PROTECTED] > Sent: vrijdag 19 maart 2004 15:45 > To: CF-Talk > Subject: Re: IIF doesn't work correctly > > I correct myself, the example works, but what I'm trying to > do doesn't work. Can anyone look at this and see why it isn't working > > #iif(listlen(cgi.query_string, "&") gt 1, > Evaluate(DE("listdeleteat(listdeleteat(cgi.query_string, 1, > "&"), 1, "=")")), DE("test"))# > > The cgi query_string will have either fuseaction=login.login > or fuseaction=login.login&fa=something.else , that way if I > am passing the extra fa I want them to be redirected to that > fa after login. > > > Bob > > > > > I was having some issues on IIF and thought I was using it > correctly > > so I reverified it by looking at the examples in the book and if I > > copy an example directly out of the docs, it doesn't work. > Try this in > > CFMX 6.1 #IIf(IsDefined("Form.Deliver"), > Evaluate(DE("Form.Deliver")), > > DE("no"))# > > > > That should output no and not throw an error, but on my box > it does. > > Anyone know a workaround. The livedocs can be viewed here. > > http://livedocs.macromedia.com/coldfusion/6.1/htmldocs/funct117.htm > > > > > > bob > Everland > > [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: IIF doesn't work correctly
> I was having some issues on IIF and thought I was using it > correctly so I reverified it by looking at the examples in > the book and if I copy an example directly out of the docs, > it doesn't work. Try this in CFMX 6.1 > #IIf(IsDefined("Form.Deliver"), Evaluate(DE("Form.Deliver")), > DE("no"))# > > That should output no and not throw an error, but on my box > it does. Anyone know a workaround. The livedocs can be viewed > here. > http://livedocs.macromedia.com/coldfusion/6.1/htmldocs/funct117.htm I haven't actually tried running your code, but why would you nest DE within Evaluate? You should be able to simplify the _expression_: #IIf(IsDefined("Form.Deliver"), "Form.Deliver", DE("no"))> Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ phone: 202-797-5496 fax: 202-797-5444 [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
Re: IIF doesn't work correctly
I correct myself, the example works, but what I'm trying to do doesn't work. Can anyone look at this and see why it isn't working #iif(listlen(cgi.query_string, "&") gt 1, Evaluate(DE("listdeleteat(listdeleteat(cgi.query_string, 1, "&"), 1, "=")")), DE("test"))# The cgi query_string will have either fuseaction=login.login or fuseaction=login.login&fa=something.else , that way if I am passing the extra fa I want them to be redirected to that fa after login. Bob > I was having some issues on IIF and thought I was using it correctly > so I reverified it by looking at the examples in the book and if I > copy an example directly out of the docs, it doesn't work. Try this in > CFMX 6.1 #IIf(IsDefined("Form.Deliver"), Evaluate(DE("Form.Deliver")), > DE("no"))# > > That should output no and not throw an error, but on my box it does. > Anyone know a workaround. The livedocs can be viewed here. > http://livedocs.macromedia.com/coldfusion/6.1/htmldocs/funct117.htm > > > bob Everland [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
IIF doesn't work correctly
I was having some issues on IIF and thought I was using it correctly so I reverified it by looking at the examples in the book and if I copy an example directly out of the docs, it doesn't work. Try this in CFMX 6.1 #IIf(IsDefined("Form.Deliver"), Evaluate(DE("Form.Deliver")), DE("no"))# That should output no and not throw an error, but on my box it does. Anyone know a workaround. The livedocs can be viewed here. http://livedocs.macromedia.com/coldfusion/6.1/htmldocs/funct117.htm bob Everland [Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]
RE: IIF() and IsDefined()
you don't need the de() call around the variable name, just put it in quotes: iif(structKeyExists(struct, "keyname"), "struct.keyname", de("no key")) Your code was trying to output a variable with a name equal to the value stored in #struct.keyname#, which isn't what you wanted. Usually, using CFIF is more readable (especially with complex expressions) and it's always faster, as it doesn't require any delayed evaluation (which is slow). Sometimes it's the only way to get a job done, but you generally shouldn't use it unless you have to. barneyb --- Barney Boisvert, Senior Development Engineer AudienceCentral (formerly PIER System, Inc.) [EMAIL PROTECTED] voice : 360.756.8080 x12 fax : 360.647.5351 www.audiencecentral.com > -Original Message- > From: Alexander Sherwood [mailto:[EMAIL PROTECTED] > Sent: Friday, April 04, 2003 11:36 AM > To: CF-Talk > Subject: IIF() and IsDefined() > > > Help: > > #IIF(StructKeyExists(struct, 'keyname'),DE(struct.keyname),DE('no > key'))#.fails if the key is not present. > > BUT, > > > #struct.keyname# > > no key > > > doesn't. > > Am I missing something about IIF() and DE()? It looks as if both DE() > expressions must be "evaluateable", and the IIF() just decides > which one to > evaluate? Correct? > > Thanks, > > -- > Alex Sherwood > PHS Collection Agency > THE COLLECTORS > T: 301.215.4200 > F: 301.664.6834 > W: www.phs-net.com > > ~| 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 Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: IIF() and IsDefined()
try quotes around the argument passed to DE. DE(struct.keyname) should be DE('struct.keyname') mike -Original Message- From: Alexander Sherwood [mailto:[EMAIL PROTECTED] Sent: Friday, April 04, 2003 2:36 PM To: CF-Talk Subject: IIF() and IsDefined() Help: #IIF(StructKeyExists(struct, 'keyname'),DE(struct.keyname),DE('no key'))#.fails if the key is not present. BUT, #struct.keyname# no key doesn't. Am I missing something about IIF() and DE()? It looks as if both DE() expressions must be "evaluateable", and the IIF() just decides which one to evaluate? Correct? Thanks, -- Alex Sherwood PHS Collection Agency THE COLLECTORS T: 301.215.4200 F: 301.664.6834 W: www.phs-net.com ~| 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 Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
IIF() and IsDefined()
Help: #IIF(StructKeyExists(struct, 'keyname'),DE(struct.keyname),DE('no key'))#.fails if the key is not present. BUT, #struct.keyname# no key doesn't. Am I missing something about IIF() and DE()? It looks as if both DE() expressions must be "evaluateable", and the IIF() just decides which one to evaluate? Correct? Thanks, -- Alex Sherwood PHS Collection Agency THE COLLECTORS T: 301.215.4200 F: 301.664.6834 W: www.phs-net.com ~| 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 Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Re: Iif() and StructKeyExist()
On 2/20/03 1:17 PM, "Aidan Whitehall" <[EMAIL PROTECTED]> wrote: > I've got an array of structures and am looping through them and writing > several queries on the fly. However, I can't hit on just the right > combination of quotation marks to stop it throwing an error. > > Does anyone know how to write it correctly, outputting either null or > the value surrounded by apostrophes? A change in direction would be to consider if you could construct your queries with CFQUERYPARAM. Then you wouldn't need to worry about quoting or apostrophes. I'm not good off-the-cuff with cfqueryparam. I'm sure someone here can give a good example of a null check added to a cfqueryparam ... Any takers? > > #Iif(not StructKeyExists(values[i], "proximity"), DE("null"), "'" & > "values[i]["proximity"]" & "'"))# > > > Thanks! ~| 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 Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Iif() and StructKeyExist()
> I don't think you can use IIF in this case as IIF has > a habit of evaluating both results regardless of > whether it resolves to true or false. Even if > proximity doesn't exist, it will still evaluate > values[i]["proximity"]. Yeah, that's how it's starting to look. Well, thanks for the confirmation. Guess it's a job for cfif. -- Aidan Whitehall <[EMAIL PROTECTED]> Macromedia ColdFusion Developer Fairbanks Environmental Ltd +44 (0)1695 51775 ~| 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 Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Iif() and StructKeyExist()
I don't think you can use IIF in this case as IIF has a habit of evaluating both results regardless of whether it resolves to true or false. Even if proximity doesn't exist, it will still evaluate values[i]["proximity"]. Cheers > > I've got an array of structures and am looping > through them and writing > several queries on the fly. However, I can't hit on > just the right > combination of quotation marks to stop it throwing > an error. > > Does anyone know how to write it correctly, > outputting either null or > the value surrounded by apostrophes? > > #Iif(not StructKeyExists(values[i], "proximity"), > DE("null"), "'" & > "values[i]["proximity"]" & "'"))# > > > Thanks! > > -- > Aidan Whitehall <[EMAIL PROTECTED]> > Macromedia ColdFusion Developer > Fairbanks Environmental Ltd +44 (0)1695 51775 > > > > ~| 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 Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: Iif() and StructKeyExist()
dont have time to test, but would it not need to something like this??? #Iif(not StructKeyExists(values[i], "proximity"), DE("null"), DE("values[i][""proximity""]")))# You would then need to check the value and decide whether quotes would work Could be wrong... my 2 secs worth -Original Message- From: Aidan Whitehall [mailto:[EMAIL PROTECTED]] Sent: 20 February 2003 21:18 To: CF-Talk Subject: Iif() and StructKeyExist() I've got an array of structures and am looping through them and writing several queries on the fly. However, I can't hit on just the right combination of quotation marks to stop it throwing an error. Does anyone know how to write it correctly, outputting either null or the value surrounded by apostrophes? #Iif(not StructKeyExists(values[i], "proximity"), DE("null"), "'" & "values[i]["proximity"]" & "'"))# Thanks! -- Aidan Whitehall <[EMAIL PROTECTED]> Macromedia ColdFusion Developer Fairbanks Environmental Ltd +44 (0)1695 51775 ~| 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 Get the mailserver that powers this list at http://www.coolfusion.com Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Iif() and StructKeyExist()
I've got an array of structures and am looping through them and writing several queries on the fly. However, I can't hit on just the right combination of quotation marks to stop it throwing an error. Does anyone know how to write it correctly, outputting either null or the value surrounded by apostrophes? #Iif(not StructKeyExists(values[i], "proximity"), DE("null"), "'" & "values[i]["proximity"]" & "'"))# Thanks! -- Aidan Whitehall <[EMAIL PROTECTED]> Macromedia ColdFusion Developer Fairbanks Environmental Ltd +44 (0)1695 51775 ~| 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 Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
RE: iif usage
Dave, I think Michael Dinowitz stated it if I recall correctly. I am not 100% sure. Mike -Original Message- From: Dave Watts [mailto:[EMAIL PROTECTED]] Sent: Monday, September 09, 2002 2:43 PM To: CF-Talk Subject: RE: iif usage > IIF has its place. Someone correct me if I am wrong, but I > thought I read on this list weeks ago that with MX, IIF was > just as fast as CFIF. I don't think that's possible, although I could be wrong. When you use IIf or Evaluate, you're evaluating a string as if it were an expression. I suspect that this will always take longer than just evaluating an expression. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 __ Signup for the Fusion Authority news alert and keep up with the latest news in ColdFusion and related topics. http://www.fusionauthority.com/signup.cfm FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: iif usage
> IIF has its place. Someone correct me if I am wrong, but I > thought I read on this list weeks ago that with MX, IIF was > just as fast as CFIF. I don't think that's possible, although I could be wrong. When you use IIf or Evaluate, you're evaluating a string as if it were an expression. I suspect that this will always take longer than just evaluating an expression. Dave Watts, CTO, Fig Leaf Software http://www.figleaf.com/ voice: (202) 797-5496 fax: (202) 797-5444 __ Structure your ColdFusion code with Fusebox. Get the official book at http://www.fusionauthority.com/bkinfo.cfm FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists
RE: iif usage
IIF has its place. Someone correct me if I am wrong, but I thought I read on this list weeks ago that with MX, IIF was just as fast as CFIF. All languages have their fans in terms of language specifics and what to use and what not to use... if you do not like something, don't use it. If you like it and and the performance from your method is the best it can be, use it. So. My 2 cents. Mike -Original Message- From: Joe Eugene [mailto:[EMAIL PROTECTED]] Sent: Monday, September 09, 2002 2:17 PM To: CF-Talk Subject: Re: iif usage Good (humor) Sean...~! I agree there are bad practices... (evaluate,cflocation, variable prefixes, spaghetti code and some others) but i dont think you should include IIF in them... Joe - Original Message - From: "Sean A Corfield" <[EMAIL PROTECTED]> To: "CF-Talk" <[EMAIL PROTECTED]> Sent: Monday, September 09, 2002 1:59 PM Subject: Re: iif usage > On Sunday, September 8, 2002, at 09:33 , Joe Eugene wrote: > > I dont agree with Sean or Dave... > > That doesn't surprise me Joe :) > > > i dont think IIF is necessary but its > > a very useful function ... "IF USED PROPERLY" > > I didn't say it wasn't *useful* - I just said it was bad practice and > could always be avoided. > > > Many of you guys dont agree.. but i personally prefer using IIF and i > > use it only when necessary... a good example would be...table row colors. > > .. > > It is NEVER necessary. You even admit that above! > > > i dont use the above for complex logic...write cfscript blocks of code... > > i am not very fond of contructs... > > But you can structure your code to be concise without iif(). Since you > want alternating colors, you should see that rownum mod 2 will give > alternating 1, 0, 1, 0 values. So you could construct a two-element array > containing the colors you want - do this above the loop over the table > rows - and then each row just accesses the appropriate element of the > array. > > The main benefit of this approach is that it keeps the color specification > separate from the row logic instead of being embedded in the table and it > also scales easily to alternately through more colors or alternating on > blocks of rows. > > And of course it doesn't use iif() which is a big plus in my book. > > If you want to use iif() instead of , that's up to you. Just don't > ask me for a job (or a reference)... :) > > Sean A Corfield -- http://www.corfield.org/blog/ > > "If you're not annoying somebody, you're not really alive." > -- Margaret Atwood > > __ Get the mailserver that powers this list at http://www.coolfusion.com FAQ: http://www.thenetprofits.co.uk/coldfusion/faq Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/ Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists