问题标签 [bind-variables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
pentaho - Bind variables in case statement in MonetDB
I seem to have come across a strange restriction in using bind variables in MonetDB. If i use bind variables in the normal way by saying where field=${var} then it works. But not in this case:
Here is a sample:
And here is the error:
Using the latest version of the jdbc driver (2.9) via Pentaho.
sqlite - get value as integer from QlineEdit and bindit in sqlite
i tried to entre data from a form " means from QlineEdit as integer "
the programm is compiled successfully but when i open the form and entre data , the programm crach
her's the erreur
hers my code *
oracle - Oracle 绑定变量未正确使用索引的问题
在我的场景中,以下查询运行速度很快(在有 7000 万行的表上运行 0.5 秒):
而且,它甚至可以使用绑定变量快速运行:
这些运行得很快,因为我在purchase_id
列上有一个索引。(继续阅读...)
我需要创建一个允许对任意列进行“过滤”的查询。这意味着提供几个输入变量,并对每个变量进行过滤,除非它是null
. 起初这很好用。
例如,以下查询运行速度也很快(0.5 秒):
但是,当我尝试通过绑定变量或存储过程对查询进行参数化时,查询会显着减慢(1.5 分钟),就好像它忽略了任何索引一样:
现在,在我的应用程序中,我被迫在运行时动态构建查询以获得良好的性能。这意味着我失去了参数化查询的所有优势,并迫使我担心 SQL 注入。
是否可以在保持相同逻辑的同时避免动态构造的查询?
java - “逃脱”绑定变量?在 JDBC SQL 搜索中
所以我用 Java 编码,使用 JDBC 和 SQL 从数据库中获取数据。我无法更改数据库中的数据或列名。直到今天我被告知需要数据库的另一列之前,一切都运行良好。
因此,我尝试将列名添加到 select 语句中,但是出现错误:
“java.sql.SQLException:[Microsoft][ODBC Microsoft Access Driver] 参数太少。应为 2。”
这是列的变量和名称: String est = "\"Estimates Complete?\"";
因此,经过大量研究,似乎 JDBC 中有一种叫做“绑定变量”的东西,并且?恰好是其中之一。我一直在寻找有关如何创建绑定变量的论坛帖子和答案,但没有找到有关如何“转义”它们的信息。我无法更改 Estimates Complete 的值?列,我的程序需要它。
如果我尝试 String est = "Estimates Complete?";,那么我得到的错误是:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]COUNT 字段不正确
有谁知道这是否可能?谢谢。
编辑:代码示例:
sql - SQL注入攻击的例子?
什么是用于破坏数据库的 SQL 注入攻击示例?
使用绑定变量不能防止哪些类型的 SQL 注入攻击,为什么不能?
绑定变量如何帮助防止 SQL 注入攻击?
pdo - mysqli 和 PDO 中的 bindValue 和 bindParam 忽略变量类型
如果给定的类型在我的情况下似乎没有意义,我在理解绑定 PDO 和 mysqli 中某些变量类型的部分含义时遇到问题。在以下代码中,类型绑定(如i
或s
)被忽略。数据库中的表行“wert_sortierung”是 INT(11)。不管是否$val_int
真的是整数,如果我通过i
, s
/ PDO::PARAM_INT
or绑定它_STR
,查询总是有效,没有中断,没有错误或警告,绑定和数据库或变量本身中的类型不适合。
请任何人指出我的推理错误。
c++ - Oracle OCI、绑定变量和查询,如 ID IN (1, 2, 3)
简洁版:
我正在寻找对以下 Java 技术的 C++ OCI 改编,其中代码能够将数字数组(数组大小可以变化)绑定到非 PL/SQLSELECT
语句中,然后在WHERE ID IN (...)
样式检查中使用生成的数组.
http://rafudb.blogspot.com/2011/10/variable-inlist.html
原始问题:
我们有一个通过 OCI 与 Oracle 对话的 C++ 应用程序。我们正在尝试修复通过连接文本生成 SQL 查询的旧代码;相反,我们希望尽可能多地使用绑定变量。出现了一种特殊情况,我们没有很好的解决方案。
零件(1, 4, 10, 30, 93)
来自一个vector<int>
或其他一些灵活大小的数据容器。如果我们知道它总是有五个值,我们可以这样做:
但它可能是一个条目,或十个,甚至可能是零。显然,如果我们将查询构建为字符串,我们可以根据需要附加任意数量的数字,但目标是尽可能避免这种情况,并坚持只绑定变量。
有没有什么好方法可以做到这一点?例如,在 OCI 中,我可以绑定一个数组,然后从中进行子选择吗?
:1
OCI 阵列在哪里?(可能语法会有所不同。)有没有人有这方面的经验?示例代码将是天赐之物,因为我倾向于努力编写原始 OCI。谢谢 :)
编辑:如果可能的话,我想做的比绑定一个由 PL/SQL 过程解析的字符串更好。我有信心在很多情况下我们会突破 4000 个字符的限制,而且我也觉得这只是将一种我很熟悉的字符串操作换成另一种我不熟悉的字符串操作(而且我不能调试一样容易)。如果可能的话,我想将一组值(或某种形式的数据集)绑定到一个标准 SQL 语句中。
编辑 2:一些调查出现了以下链接,它似乎正在做我想要的,但在 Java 中:http: //rafudb.blogspot.com/2011/10/variable-inlist.html 有谁知道如何适应这个C++ OCI 的方法?
sql - 如何获取通过 ODP.NET 中的 OracleParameter 传递的绑定变量的跟踪信息?
在谷歌搜索了很多并没有找到我要找的东西之后,我决定问这个问题。
我正在使用绑定变量,正如2005 年的这篇很棒的文章所展示的那样,Mark A. Williams 的标题为绑定的值,如下所示:
我成功地启用了ODP.NET
调试跟踪,但缺少的一个关键信息是日志SQL statement
没有显示绑定到绑定变量的值是什么。
它正在记录OracleCommand.CommandText
但没有OracleCommand.Parameters
值。它向我展示了这个:
我真正想看到的是发送到 ORACLE 服务器的查询中使用的实际值,如下所示:
我是否缺少某些配置,或者在使用ODP.NET
跟踪功能时我想要的信息不可用?
如果这不是内置的,我想我将不得不实现自己的替换方法并SQL Statement
自己记录。
sql - 验证 dbms_sql.execute 执行代码 PL/SQL
有没有办法跟踪使用 dbms_sql.execute 执行了哪些代码?
例如,如果我运行此查询:
我应该能够找到结果:
我尝试查看 v$sql/v$sql_bind_capture 和 dba_hist_sqltext/dba_hist_sqlbind 但它似乎不可靠,因为使用不同的绑定变量运行相同的 sql 会导致具有相同 sql_id 的 sql 被覆盖。
ruby-on-rails - rails 3 sqlite 通过占位符在查询中传递数组
我如何将数组作为占位符而不将 sqlite 视为 1 个值但数组中有几个值
但我得到这个错误:
无论如何让它在数组中看到 3 个值而不是 1。