检查coldfusion中数据库中是否已存在Category

时间:2014-03-21 06:49:23

标签: coldfusion bind

我想使用绑定到另一个cfm页面来检查数据库。

顶部是我写的一个我认为可行的查询。如果Tag的计数大于0,那么if语句应该触发说明已经采用了Tag。 我可以编写查询,但我不知道如何将它实现到它下面的逻辑中。

这是我的绑定页面:

<cfquery name="TagCheck" datasource="PostBlog">
select    Count(Category)
  from    Categories
 where    Category = #URL.Category#
 </cfquery>



<cfif URL.Category NEQ "">
    <cfif Compare(URL.Category, "2") EQ 0>
        <span style="color: red;">The Category <cfoutput>#URL.Category#</cfoutput> already exist within the database.</span>
    <cfelse>
        <cfoutput><span style="color: Green;">#URL.Category# is available</cfoutput>
    </cfif>
</cfif> 

1 个答案:

答案 0 :(得分:2)

首先,在将动态值传递给查询时使用cfqueryparam,尤其是如果它是用户可以指定的内容。

其次,当使用像Count()这样的聚合函数时,如果要稍后使用该值,则需要指定别名。

<cfquery name="TagCheck" datasource="PostBlog">
  select    Count(Category) AS CategoryCount
  from    Categories
  where    Category = <cfqueryparam value="#URL.Category#" CFSQLType="CF_SQL_INTEGER">
</cfquery>

最后,在你的逻辑中你应该只需要这样做:

<cfif URL.Category NEQ "">
    <cfif TagCheck.CategoryCount GT 0>
        <span style="color: red;">The Category <cfoutput>#URL.Category#</cfoutput> already exist within the database.</span>
    <cfelse>
        <cfoutput><span style="color: Green;">#URL.Category# is available</cfoutput>
    </cfif>
</cfif>