2013-02-22 50 views
2

我剛接觸coldfusion。我正在執行「SP_REPORT」存儲過程並處理「result」中的結果集。 如果結果包含行,我在表中顯示數據。我想處理存儲過程返回零行時的情況。如果有零行,我想顯示其他表。我怎樣才能得到結果的數量。一個非零的RecordCount已經被認爲是 - 由於事先獲取coldfusion中存儲過程結果的行數

<cfstoredproc procedure="SP_REPORT" datasource="#DataBse#" >   
    <cfprocparam type = "In"  CFSQLType = "CF_SQL_INTEGER" value ='#Id#' dbVarName = "@Id"> 
    <cfprocresult name="result"> 
</cfstoredproc>   
<table> 
<cfloop query="result"> 
    <tr class="row#result.CurrentRow MOD 2#"> 
    <td align="left">#result.COMPANY_NAME#</td> 
    <td align="left">#trim(result.FName)#</td> 
    </tr> 
</cfloop> 
</table> 
+0

我通過使用下面的條件,如果 RajVish 2013-02-22 12:03:48

+1

順便說一句的'GT 0'部分冗餘解決的問題真正。 – 2013-02-22 13:20:30

+2

'dbVarName'是cfprocparam上不贊成使用的屬性 – duncan 2013-02-22 13:53:03

回答

1
<cfstoredproc procedure="SP_REPORT" datasource="#DataBse#" >   
    <cfprocparam type = "In"  CFSQLType = "CF_SQL_INTEGER" value ='#Id#' dbVarName = "@Id"> 
    <cfprocresult name="result"> 
</cfstoredproc>   

<table> 
<cfif result.RecordCount> 
<cfloop query="result"> 
    <tr class="row#result.CurrentRow MOD 2#"> 
    <td align="left">#result.COMPANY_NAME#</td> 
    <td align="left">#trim(result.FName)#</td> 
    </tr> 
</cfloop> 
<cfelse> 
run another query 
</cfif> 
</table>