2012-04-05 73 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>