1

我有一些只更新的代码

<cfif tags NEQ "skip">
<cfquery>
UPDATE myTable
SET tags = <cfqueryparam cfsqltype="CF_SQL_varchar" value="#arguments.tags#">
WHERE ID = <cfqueryparam cfsqltype="CF_SQL_INTEGER" value="#arguments.ID#">
</cfquery>

有什么比使用“跳过”作为魔法值更好的方法?请注意,空白是有效值。

4

1 回答 1

4

这取决于数据的来源。理想情况下,我会将一个变量设置为 true 或 false 并检查它。我猜在您的示例中,标签来自表单,而“skip”是“None of these”中的值。您可能必须使用某些东西作为魔术值,但我更喜欢使用__SKIP_TAGS__非常清楚的东西。

您还可以拆分您的页面逻辑,以便您首先处理表单提交,检查魔术值并设置是否从#tags# 插入数据的布尔值,然后稍后使用该布尔值进行检查。整体逻辑是相同的,但布局更好。

您可能需要考虑为您的问题添加更多上下文,例如数据来自哪里,以便其他人可以为您提供更好的建议

于 2012-11-23T06:54:10.953 回答