- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当使用多个 cfqueryparams
时,以下 cfquery
在 ColdFusion 中失败;但是,当它们未被使用或仅限于其中一个时,查询将返回预期结果:
<cfquery name="getComponent"
datasource="#Request.DSN#"
username="#Request.username#"
password="#Request.password#">
SELECT *
FROM tbComponent
INNER JOIN tbPart ON tbPart.partNo = tbComponent.partNo
INNER JOIN tbProduct on tbProduct.prodNo = tbComponent.prodNo
WHERE tbComponent.prodNo = <cfqueryparam value="#URL.prodNo#"
cfsqltype="CF_SQL_CHAR"
maxlength="3" />
AND tbComponent.compNo = <cfqueryparam value="#URL.compNo#"
cfsqltype="CF_SQL_CHAR"
maxlength="2" />
</cfquery>
数据通过 URL 传入,如下所示:
http://localhost/index.cfm?prodNo=100&compNo=1
该查询已在 SQLPlus 中使用有效数据进行测试,并返回预期结果。这个问题似乎仅限于通过 URL
传递值时,尽管通过 post 和 FORM
传递它们可以正常工作,所以我怀疑某些东西在 URL 中被破坏了.数据和查询已使用 cfdump
检查,与用于在 SQLPlus 中运行查询的内容相比,一切看起来都是正确的。
数据库后端是 Oracle 11g,据我所知,所有相关驱动程序都是最新的。关于这里可能发生什么的任何想法,因为似乎已经检查了明显的问题。
最佳答案
我将放入 Oracle 的 LPAD 函数,这样当您只传入一两个加长字符时,它会在它们之前放置适当的间距,因为您的 URL 缺少 %20。像这样:
<cfquery name="getComponent"
datasource="#Request.DSN#"
username="#Request.username#"
password="#Request.password#">
SELECT *
FROM tbComponent
INNER JOIN tbPart ON tbPart.partNo = tbComponent.partNo
INNER JOIN tbProduct on tbProduct.prodNo = tbComponent.prodNo
WHERE tbComponent.prodNo = LPAD(<cfqueryparam value="#URL.prodNo#"
cfsqltype="CF_SQL_CHAR"
maxlength="3" />, 3)
AND tbComponent.compNo = LPAD(<cfqueryparam value="#URL.compNo#"
cfsqltype="CF_SQL_CHAR"
maxlength="2" />, 2)
</cfquery>
这将在需要时填充内容,直到列的最大字符长度。您可以将它们更改为 2 和 1,假设至少有单个字符将始终为两者传递,因为我假设至少存在某个值的假设,因为没有 null 属性并检查它是否存在每个查询参数。
关于coldfusion - 使用多个 cfqueryparam 时 cfquery 不返回结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20319752/
我的 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
我是一名优秀的程序员,十分优秀!