Мне нужно предоставить некоторый статус для элементов в моей таблице, которые я делаю в последнем столбце моей таблицы. Сначала я иду и запрашиваю одну таблицу, чтобы узнать, есть ли у меня подтверждение для элемента.условный запрос в coldfusion
<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.
Что мне здесь не хватает?
Именно эта линия вызывает ошибку? Почему бы просто не использовать sql JOIN вместо всей логики if/else? – Leigh
Я смотрю на ваш вопрос, но некоторые вопиющие проблемы с кодированием заставляют меня прокомментировать их: 1. (кавычки и хэш) 5. используйте , не используйте «*» - вместо этого используйте имена столбцов 9. (хэш уведомлений) 10. (сокращенное обозначение и хэш) –
Хорошо, я нашел проблему, которая была вызвана на моей стороне дерьмовая трещина. Я использовал, а также дал новый запрос имя cfquery name = "isupStatus", которое было проблемой. Первоначально он был либо «", либо имел значение, но как только я использовал одно и то же имя для имени запроса, он стал сложным, и я больше не мог его отображать. Таким образом, я меняю имя запроса и выполняю работу и работаю так, как ожидалось. –
NoSoup4you