Coldfusion-CFIF语句

Coldfusion-CFIF语句,coldfusion,Coldfusion,我试图对照现有数据库实体检查2个表单元素的内容,然后如果其中任何一个不同,则运行一个条件选项,但我遇到一些问题,因为下面的内容似乎不起作用。我做错什么了吗 <cfquery name="qLiveService" datasource="#application.datasource#"> SELECT broadcastPackage, AdditonalDVDs FROM dbo.tributes WHERE profileID = 122> </cfquer

我试图对照现有数据库实体检查2个表单元素的内容,然后如果其中任何一个不同,则运行一个条件选项,但我遇到一些问题,因为下面的内容似乎不起作用。我做错什么了吗

<cfquery name="qLiveService" datasource="#application.datasource#">
 SELECT broadcastPackage, AdditonalDVDs 
 FROM dbo.tributes
 WHERE profileID = 122>
</cfquery>   



<cfif qLiveService.broadcastPackage is form.broadcastPackage and qLiveService.AdditonalDVDs is form.AdditonalDVDs >

<!--- do something -->

<cfelse>


<!--- of one was different now run the code in this area -->

</cfif>
在122之后移除额外的>

如果在变量周围使用引号,则需要添加磅符号以确保对值进行计算。例如:

<cfset a = "bob">
<cfset b = "bob">
<cfset x = 5>
<cfset y = 5>
<cfif ( a is "#b#" ) and ( x is "#y#" )>
    Equal
<cfelse>
    Not Equal
</cfif>
如果不使用引号,则不需要磅符号:

<cfif ( a is b ) and ( x is y )>
    Equal
<cfelse>
    Not Equal
</cfif>

您可以尝试更正查询where profileID=122中的where条件 如果条件是

<cfoutput>
<cfif #qLiveService.broadcastPackage# eq #val(form.broadcastPackage)# and   #qLiveService.AdditonalDVDs# is #val(form.AdditonalDVDs)# >
  Equal
    <cfelse>
Not Equal
</cfif>
</cfoutput>

不工作的描述太模糊了:你能详细说明一下吗?另外,您要比较的实际值和两列的数据类型是什么?我相信这很容易解决,只要您提供多一点信息。在查询结束时,symbol>在做什么?正如Leigh所说,将查询转储到屏幕上,并转储两个表单字段。这将有助于你解决问题。他们使用的标志是正确的。除了上面提到的无关的>符号DB3之外,我没有看到任何明显的问题。我怀疑这实际上是一个逻辑或隐式转换问题,在这种情况下不需要符号。也不是cfoutput标记,因为代码实际上没有输出任何东西。看见此外,如果不知道比较的是哪种类型的值,就不可能判断添加val是有帮助还是有害。
<cfoutput>
<cfif #qLiveService.broadcastPackage# eq #val(form.broadcastPackage)# and   #qLiveService.AdditonalDVDs# is #val(form.AdditonalDVDs)# >
  Equal
    <cfelse>
Not Equal
</cfif>
</cfoutput>