检查是否在数据库中填充了字段

时间:2014-06-13 02:06:28

标签: sql coldfusion

仍在学习ColdFusion的最佳实践并遇到了一个我认为我可以做得更好的实践

我正在运行CF10,并且基本上有一个流程,用户填写20列的电子表格,不需要5列。在不需要的5个中,2个(blah1和blah2)不需要填写数据,如果没有填写数据,则它将被插入为NULL。

最终和单独的进程基本上是读取表中每列的字段,如果它看到2(blah1和blah2列)的NULL,那么它将被设置为默认值,但如果它确实看到任何值,那么它将使用输入的值作为值。

这就是我所拥有的:

<cfif Len(blah1)>
 <cfset blah1 = "#default1#" />
<cfelse>
 <cfset blah1 = "default1" />
</cfif>

<cfif Len(blah2)>
 <cfset blah2 = "#default2#" />
<cfelse>
 <cfset blah2 = "default2" />
</cfif>

使用Len()检查是否在表格的字段中填充了任何数据?

1 个答案:

答案 0 :(得分:5)

如果您不想在数据库中执行检查,那么是,len()是最好的方法。如果用户有可能只输入空格,请选中len(trim())

由于您使用的是CF10,您可以使用三元运算符编写代码以简化操作

<cfset blah1 = len(qryName.blah1) ? qryName.default1: 'default1'>

您希望在变量成为变量范围的一部分时对其进行调整范围,因此请将blah1作为queryName的前缀,如果它来自的话。另外,在设置变量时您不需要使用"##",您只需设置变量即可。如果不使用三元运算符,您只需要

<cfif Len(qryName.blah1)>
  <cfset blah1 = qryName.default1 />
<cfelse>
  <cfset blah1 = "default1" />
</cfif>