cfqueryparam 中是否存在结构键?

Struckt Key Exists in cfqueryparam?

我有带 checkbox 个字段的表单字段。在我的 cfc 页面上,当我 运行 我的 Insert/Update 查询时,我想使用 strucktKeyExists 检查复选框表单字段是否存在。另外,我的 cfqueryparam 中有 null 属性,如果 value/field 不存在,该属性会将值设置为 true/false。这是我的代码示例:

dm_ck0 = <cfqueryparam value="#trim(structKeyExists(FORM, 'frm_ck0'))#" cfsqltype="cf_sql_bit" maxlength="1" null="#yesNoFormat(!len(trim(structKeyExists(FORM, 'frm_ck0'))))#" /> 

所以当我提交表单时 checkbox 字段是 unchecked。我收到一条错误消息:

Invalid data value NO exceeds maxlength setting 1.

我不确定为什么会出现此消息。在我的 cfqueryparam 中设置 StrucktKeyExist() 之前,我的代码运行良好。如果有人看到我的代码在哪里失败,请告诉我。谢谢!

首先,设置变量:

myVar = structKeyExists(FORM, 'frm_ck0') ? 1 : 0;

在查询参数中使用您的变量

dm_ck0 = <cfqueryparam value="#myVar#" cfsqltype="cf_sql_bit">