- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 ColdFusion 10 Update 23 和 MySQL 数据库。当我对使用 cfqueryparm 的脚本进行更改时,该脚本会导致此错误消息:“无法确定标签 queryparam 属性值的类型。”
这个脚本完美运行:
<cfquery name="i" datasource="tasktrack">
UPDATE qa_commitments
SET
commit_division = <cfqueryparam cfsqltype='cf_sql_integer' value='#trim(commit_division)#'/>,
commit_source = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(commit_source))#'/>,
commit_title = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(commit_title))#'/>,
commit_responsibility = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(commit_responsibility))#'/>,
<cfif Len(commit_cause)>commit_cause = <cfqueryparam cfsqltype='cf_sql_varchar' value='#commit_cause#'/>
<cfelse>commit_cause = NULL</cfif>,
commit_comments = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(PreserveSingleQuotes(commit_comments)))#'/>,
commit_issue_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_issue_date#'/>,
commit_response_due_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_response_due_date#'/>,
commit_response_compl_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_response_compl_date#'/>,
commit_action_due_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_action_due_date#'/>
<cfif IsDefined('commit_closeing_date')> ,commit_closeing_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_closeing_date#'/></cfif>
WHERE ID = #id#
如果我打开脚本并添加任何内容(即返回、选项卡、注释),然后保存脚本,我会收到上述错误。如果我从旧版本恢复脚本,它会再次正常工作。我打开旧的,用输入键插入换行符,保存它,然后它再次中断。真正奇怪的部分是,如果我完全删除 cfqueryparam 标签,脚本会再次工作。这种情况发生在我使用此标签的每个脚本上。CF 的最后一次更新是 2017 年 4 月,有几个较新的脚本可以工作,除非我编辑它们。我尝试过不同的编辑器,但结果相同。我用谷歌搜索了我的屁股没有结果。有人可以指出我正确的方向吗?
最佳答案
我无法告诉你它为什么坏了,但我可以告诉你如何修复它。
推杆<cfif>
查询内部的 s 使得数据库引擎无法缓存查询。因此,我会将它们移出,并移出查询中的条件逻辑。
<cfquery name="i" datasource="tasktrack">
DECLARE @commit_clause varchar(40) = <cfqueryparam cfsqltype='cf_sql_varchar' value='#commit_cause#' null="#IIF(len(commit_clause)1, 0)#"/>
DECLARE @commit_closeing_date date = cfqueryparam cfsqltype='cf_sql_date' value='#commit_closeing_date#' null="#IIF(isDefined(Commit_closeing_date), 0, 1)#"/>.
UPDATE qa_commitments
SET
commit_division = <cfqueryparam cfsqltype='cf_sql_integer' value='#trim(commit_division)#'/>,
commit_source = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(commit_source))#'/>,
commit_title = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(commit_title))#'/>,
commit_responsibility = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(commit_responsibility))#'/>,
commit_cause = @commit_clause,
commit_comments = <cfqueryparam cfsqltype='cf_sql_varchar' value='#ucase(trim(PreserveSingleQuotes(commit_comments)))#'/>,
commit_issue_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_issue_date#'/>,
commit_response_due_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_response_due_date#'/>,
commit_response_compl_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_response_compl_date#'/>,
commit_action_due_date = <cfqueryparam cfsqltype='cf_sql_date' value='#commit_action_due_date#'/>,
commit_closeing_date = @commit_closeing_date
WHERE ID = #id# /* I would fix this too */
</cfquery>
偏离主题
我会考虑使用实体。我真的不喜欢一遍又一遍地写这些东西。
关于coldfusion - 使用 cfquery cfqueryparam 出现奇怪的 ColdFusion 10 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46917690/
我的 cfquery 标签存在编码问题。 这是我的代码: SELECT * FROM EXAMPLE_TABLE WHERE EXAMPLE_COLUMN = 'WORD W
最近 CF9 发布了 Hibernate 支持。我无法理解的一件事是 Hibernate 和 CFquery 之间的差异。虽然我发现 Hibernate 非常适合将表映射到对象,然后调用 getTab
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicate: Coldfusion adding extra quotes when constructing datab
的范围是什么?默认在 .cfm 上使用模板?一旦请求结束,它们会被 gc 收集吗? 最佳答案 .cfm 中的默认作用域是 VARIABLES。 相当于 不使用变量前面的作用域会使 ColdFus
这是我的问题: 我正在运行以下 cfquery,并且需要很长时间才能显示输出。 SELECT Timestamp FROM sgemaildata WHERE event_vc = "OPEN" A
我运行以下查询几个小时,进行了各种更改,但想知道为什么详细查询没有返回任何结果。我对其他连接也有类似的查询(FIRSTCONN、SECONDCONN、FOURTHCONN),这些连接运行得非常好,并在
我有一个返回 7 条记录的查询: select equipment_id from service_ticket where equipment_id > 0 然后我获取这些结果并再次运行另一个查
我被卡住了......不记得如何进行这项工作。编码: select a, b, c from d where id = '1' do somethin
我有一个结构,我想用 cfquery 列 currentRow 替换 recID 键。此列是在 sql 表中自动递增的整数。出于某种原因,我的代码无法创建具有唯一键的结构。这是我的代码: SE
我有一个来自 cfquery 的查询结果集。我只想在特定行号后添加一个新的。但是每次尝试时它都会在最后插入行。 有什么办法可以在查询中间插入行吗? select * from grade
我正在使用 ColdFusion 9.1。 我需要在我的一些查询中使用两个不同的数据源。我知道它可以完成,因为我看到其他使用两个不同数据源的代码并且它工作正常。 我尝试了很多组合,但都无法正常工作,但
cfquery 的 name 属性是可选的吗?文档说这是必需的,但即使没有它,我的代码似乎也可以正常运行。如果没有定义的话有默认值吗?如果是这样,我应该将其本地化还是安全地忽略它? 谢谢 最佳答案 我
我需要对多列匹配的查询进行分组。例如,对日期、类别和描述匹配的所有行进行分组。我知道在对一列进行分组时如何使用 cfoutput 分组,例如: #date# #detail#
我是 ColdFusion 的新手,我在 CFQuery 中写了一段 Postgres 代码: DO
我最近开始收到这个错误: 请求已超过允许的时间限制标签:CFQUERY 似乎每当 Bing 机器人访问我的网站时。我在 5 分钟内收到有关错误的系统通知。所以我会连续得到 7 到 10 个。错误都指向
我有一个案例,我需要根据 cfquery 结果检查一个复选框。数据库将返回 1 或 0,我认为从那里处理起来会非常简单,但我不确定如何将该数据表示为 HTML 复选框。 这是我目前所拥有的:
我正在执行一个查询,其中有 12 个名为“choice_1”到“choice_12”的条目。我希望能够根据循环中的位置动态调用单个选择。所以这里是查询: SELECT * FROM UsrM
我有一个检索大量数据的查询。 SELECT col1, col2 FROM table 我可以使用 python 的 cx_O
我正在使用 CFQuery从 Oracle DB 检索 CLOB 字段。如果 CLOB 文件包含小于 ~ 8000 的数据,那么我可以看到 检索到值( o/p),但是如果 CLOB 字段大小中的值超过
这不会在 ColdFusion 11 中崩溃,但会在 ColdFusion 2016 中崩溃 SELECT * FROM dbo.Roles WITH (NOLOCK) WHERE Cod
我是一名优秀的程序员,十分优秀!