2012-04-05 16 views
0

Ich gebe 2 Ergebnisse aus einem gespeicherten Proc zurück und versuche, ein Logo anzuzeigen, wenn eines von ihnen Badeid 2 hat. Sie haben eine Badge-ID-Spalte mit den Werten 1 und 2. Ich bin versucht, dies zu tun, aber es wird nicht funktionieren:Probleme beim Abrufen der ID aus dem Ergebnis

Wenn ich es zu 1 ändern wird es das alte Logo zeigen. 2 ist ein neues Logo, das ich gerade hinzugefügt habe. Vielen Dank!

bearbeiten

<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

wahrscheinlich hilfreicher sein, wenn Sie die cfstoredproc Kabeljau und die SP geschrieben. –

+0

Hinzugefügt mehr Code. Der gespeicherte Prozess gibt nur zwei Ergebnisse zurück. # 1 und # 2 –

Antwort

3

Tun Sie dies

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

Es liegt daran, dass, wenn Sie angeben, welche Zeile Sie es das erste wird zurückkehren möchten.

+0

natürlich (doh!) –

0

Versuchen Sie das Ergebnis Dumping, so dass Sie die Abzeichen-ID-Werte sehen:

<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> 
Verwandte Themen