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