我有一个数据库表,其中的 int 列也可以为空。将 int 添加到列中很好,但将其设置回 null 会导致错误。由于 ColdFusion 不支持空值,我通常将值作为空字符串传递:
local.myParam = "";
但是,这会导致错误,该错误""
不是数字类型。
post.addParam(name="parentId", cfsqltype="CF_SQL_INTEGER", value=arguments.parentId);
有什么想法可以解决这个限制吗?
我有一个数据库表,其中的 int 列也可以为空。将 int 添加到列中很好,但将其设置回 null 会导致错误。由于 ColdFusion 不支持空值,我通常将值作为空字符串传递:
local.myParam = "";
但是,这会导致错误,该错误""
不是数字类型。
post.addParam(name="parentId", cfsqltype="CF_SQL_INTEGER", value=arguments.parentId);
有什么想法可以解决这个限制吗?
如果您希望将空字符串作为 发送null
,您可以执行以下操作:
post.addParam(... null=len(trim(local.myParam)) ? false : true ...);
也就是说,除了像or之外,<cfqueryparam>
还addparam
支持一个论点。设置as会将给定值作为适当的 null 提供给数据库。为方便起见,我使用三元条件运算符来内联真或假值。您可以通过使用.null
name
cfsqltype
null
true
iif()
我想你想要这个...
null=yesNoFormat(NOT len(trim(local.myParam)))