当我在表单中输入名称并且该名称已存在于数据库中时,我想给出一条消息,说明"This name already exists"使用查询



我是一个初学者,所以我想知道如何检查一个名称是否已经存在于数据库中,并给出警告或消息说该名称已经存在于数据库中但我不想使用jquery或js只是cf和查询。

<cfif isDefined("Button")>
<cfquery name='Insert' datasource='mysql'>
INSERT INTO tbl_products_manager
(Name)
VALUES ('#name#')
</cfquery>
<cfinclude  template="pr.cfm">
</cfif>

我想知道我应该在下一个cfquery中写什么或添加消息

你可以这样做:

<cfquery name='Insert' datasource='mysql' result='local.stResult'>     
INSERT INTO tbl_products_manager
(Name)
VALUES (<cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#name#" />)
WHERE NOT EXISTS (SELECT 1 FROM tbl_products_manager WHERE Name = <cfqueryparam cfsqltype="CF_SQL_VARCHAR" value="#name#" />)
</cfquery>

则可以在本地转储。stResult并计算出具有修改记录计数的结果值。(一时想不起来。)如果值为0,则表示没有插入。

正如你所说的,你是Coldfusion的新手,请查阅<cfqueryparam>并在每一个…单个…查询,每次查询。

以上只是一个解决方案。您也可以先执行单独的查询。或者您可以在表上有一个标识(或MySQL等效),并在stResult结构中获得它。有无数种方法。加强你的sql-fu,你的CFML查询/过程的使用也会变得更强!

相关内容

最新更新