2012-04-05 39 views
0

我从存储过程返回2个结果,并尝试显示一个徽标,如果其中一个徽章具有badgeid 2的话。它们具有值为1和2的徽章id列。试图做到这一点,但它不会工作:从结果中得到id的问题

<cfif qBadges.badgeid EQ 2> 
logo here 
</cfif> 

如果我将它更改为1它会显示旧的标志。 2是我刚添加的一个新徽标。谢谢!

编辑

<cfstoredproc procedure="sel_MemberBadges_p" datasource="DSN"> 
     <cfprocparam type="In" cfsqltype="CF_SQL_INTEGER" value="#ID#"> 
     <cfprocresult name="qBadges"> 
</cfstoredproc> 

<cfif qBadges.badgeid EQ 2> 
     new logo here 
<cfelseif qBadges.badgeid EQ 1> 
     old logo 
</cfif> 
+0

可能会更有帮助,如果您发布的CFSTOREDPROC鳕鱼和SP。 – 2012-04-05 18:31:35

+0

增加了更多的代码。存储的proc只返回两个结果。 #1和#2 – 2012-04-05 18:37:01

回答

3

做这个

<cfif qBadges.badgeid[1] EQ 2> 
    new logo here 
<cfelseif qBadges.badgeid[2] EQ 1> 
    old logo 
</cfif> 

这是因为,除非你指定你想要什么行会返回第一个。

+0

当然(doh!) – 2012-04-05 19:09:48

0

尝试倾倒出来的结果,所以你可以看到徽章ID值:

<cfstoredproc procedure="sel_MemberBadges_p" datasource="DSN"> 
    <cfprocparam type="In" cfsqltype="CF_SQL_INTEGER" value="#ID#"> 
    <cfprocresult name="qBadges"> 
    </cfstoredproc> 
<cfdump var="#qBadges#" /> 
<cfabort /> 
<cfif qBadges.badgeid EQ 2> 
    new logo here 
<cfelseif qBadges.badgeid EQ 1> 
    old logo 
</cfif>