如何为ColdFusion中的查询参数指定空值?

时间:2011-02-15 16:23:23

标签: coldfusion null param

我有一个带有int列的数据库表,也可以为null。在列中添加int很好,但将其设置为null会导致错误。由于ColdFusion不支持空值,我通常将该值作为空字符串传递:

local.myParam = "";

这会导致错误,""不是数字类型。

post.addParam(name="parentId", cfsqltype="CF_SQL_INTEGER", value=arguments.parentId);

我是如何解决这个限制的?

2 个答案:

答案 0 :(得分:7)

如果您希望将空字符串作为null发送,您可以执行以下操作:

post.addParam(... null=len(trim(local.myParam)) ? false : true ...);

也就是说,除<cfqueryparam>addparam等其他参数外,nullname支持cfsqltype参数。将null设置为true将为数据库提供给定值作为正确的null。为方便起见,我使用三元条件运算符来内联true或false值。你可以使用iif()来实现同样的目标,即旧学校。

答案 1 :(得分:4)

我想你想要这个...

null=yesNoFormat(NOT len(trim(local.myParam)))