我需要在表格的最后一栏中为我的表格中的项目提供一些状态。 首先,我去查询一个表格,看看我是否对该项目有确认。
<cfquery name="focnotice" datasource="******" result="FocResult">
SELECT ecspc
FROM tbl_CNR_H
WHERE icsc = '#myarray[i].ICSC#'
AND asr_no = '#myarray[i].ASR#'
</cfquery>
ECSPC
是我的表中的一个字段,因此逻辑是查看是否有记录。如果是,请查看ECSPC
值是否为“”之外的其他值。如果是,请查询另一个表以查看该ECSPC是否有匹配的记录。
<cfset ISUPStatus = "#focnotice.ecspc#">
<cfif ISUPStatus NEQ "">
<cfquery name="isupStatus" datasource="******" result="ISUPResult">
select *
from tbl_ISUP
where dpc = '#ISUPStatus#'
</cfquery>
<cfset isupcount = #ISUPResult.RecordCount#>
<cfif #isupcount# GT 0>
<cfset ISUPorder = "Yes">
<cfelse>
<cfset ISUPorder = "No">
</cfif>
<cfelse>
<cfset ISUPorder = "No">
</cfif>
我的调试中出现以下错误
无法将复杂对象类型转换为简单值。
表达式已请求变量或中间表达式 结果作为一个简单的价值。但是,结果无法转换为 简单的价值。简单的值是字符串,数字,布尔值和 日期/时间值。查询,数组和COM对象是其示例 复杂的价值观导致错误的最可能原因是您尝试过 使用复杂的值作为一个简单的值。例如,您尝试使用 cfif标记中的查询变量。
我在这里缺少什么?
答案 0 :(得分:1)
您将无效参数传递给查询&#34; myarray [i] .ICSC&#34;,&#39; #myarray [i] .ASR#&#39;。您需要指定要使用的数组索引。
<cfquery name="focnotice" datasource="*******" result="FocResult">
Select ecspc
From tbl_CNR_H
Where icsc = <cfqueryparam cfsqltype="cf_sql_varchar" value="#myarray[1].ICSC#">
AND
asr_no = <cfqueryparam cfsqltype="cf_sql_varchar" value="#myarray[1].ASR#">
</cfquery>
答案 1 :(得分:0)
我认为导致问题的错误在于:
<cfset isupcount = #ISUPResult.RecordCount#>
快速查看代码,请尝试使用:
<cfset isUpCount = isUpStatus.recordCount>
但另外请查看上面的评论,特别是加入。