2013-02-22 65 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>