问题标签 [parameterized-query]

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.

0 投票
3 回答
695 浏览

c# - `WHERE ... IN @xs`,其中@xs 参数是一个值列表:ADO.NET 支持吗?

我正在尝试使用WHERE … IN @xs子句创建参数化 ADO.NET 查询,其中@xs是可能不连续值的简短列表,例如(2, 3, 5, 8, 13). 这可以做到吗?如果是这样,怎么做?

这不起作用:

System.Data.SqlDbType枚举和System.Data.SqlTypes命名空间中的类型都不表明支持这种情况。我必须恢复到动态 SQL(即CommandText使用字符串操作手动编写最终 SQL)吗?

0 投票
3 回答
11317 浏览

sql-server - 将 NULL 值传递给参数化的 delphi SQL 服务器查询

我正在尝试将空值传递给 TSQLDataset 参数。查询具有以下形式:

参数 B 可以为空,但也是一个外键。如果用户在此字段中输入内容,则 B 必须根据另一个表中的值进行验证。如果它是空白的,那么我希望它被忽略。我传入了 '',但这显然会产生 FK 违规错误。

我试过了:

..但随后我收到“dbexpress 驱动程序不支持 tdbxtypes.unknown 数据类型”错误。

我也试过:

..但随后出现“dbexpress 驱动程序不支持 tdbxtypes.variant 数据类型”错误。

不知道我做错了什么,任何帮助将不胜感激。我目前正在根据字符串是否填充来绘制一个参数列表,这很好用;它只是有点笨拙(在我的实际查询中),因为有很多参数需要验证。

我正在使用 Delphi XE4 和 SQL Server 2012。

更新:

感谢您的所有帮助,您的建议一直都是正确的,这是导致“dbexpress 驱动程序”错误的其他原因。我正在创建一个“灵活”参数列表以解决我的问题,这导致了异常:

...想法是,如果 B 为空白,则该参数将不会在查询中“列出”。

这不起作用,或者我的实现不起作用(不知道为什么,我显然在某处遗漏了一步)。

无论如何,工作代码:

0 投票
1 回答
2342 浏览

java - SQL 准备语句中的参数化查询

我有一个连接到数据库的 java 程序,我正在尝试使用准备好的语句和参数化查询来更新数据库中的某些内容。这是我的部分代码:

我为问号参数输入的前几个值是 1- Account,2- ACCT,第三个无关紧要。我的问题是---> 有没有办法将问号组合成一个字符串值?加号不起作用我收到错误“ORA=01722:无效号码”

在查看了该错误的含义后,我将代码更改为以下内容:

那也没有用。那么还有什么方法可以将问号与字符串结合起来吗?

谢谢!

编辑----------> 我决定在 ? 之后取出字符串文本 并将其放在不同的位置:

这是在我准备好的语句之后,当我将值分配给 ? 范围。'f' 和 'e' 是我存储数据的哈希图,我想知道为什么当我将字符串添加到从 getValue 和 getKey 获得的值时,上面的代码也不起作用。我没有收到任何错误,它会编译并运行,但不会更新我希望它在数据库中的值。例如,ACCT 是第一个键,Account 是第一个值,所以当它们被传入时,它们最终应该被添加到我在 getter 之后的字符串中,因此数据库应该将 ACCTVALSETID 更新为 Account Value Set Identifier,对? 我错过了什么?

谢谢!

0 投票
1 回答
904 浏览

sql - 使用单元格作为参数在 Excel 中使用 SQL 创建参数化查询

所以在 MS Excel 中,我从 SQL Server 的数据库中导入了一个表。我想创建一个参数化查询,其中有两个单元格。假设这两个单元格是 G1 和 G2。G1 接受一个参数/类别,G2 从参数/类别中获取一个值并查询您导入的表(本质上是一个从单元格输入动态的 WHERE 子句)。有人可以告诉我如何做到这一点吗?

0 投票
1 回答
356 浏览

mysql - 使用链接服务器将参数化动态查询从 SQL Server 传递到 MySQL 数据库时出现问题

我正在尝试使用 SQL Server 数据库中的链接服务器查询 MySQL 数据库。我创建了一个参数化的动态 SQL 查询,当我运行它时,它不会出错,但它返回 0 行。

如果我对参数进行硬编码,它会返回我请求的行的数据。

在处理参数化查询时,是否有处理 MySQL 的技巧?

此语法返回 0 行:

这将返回 7:

任何帮助将不胜感激。

0 投票
1 回答
1594 浏览

sql - 在经典 asp 中使用 vbscript 插入参数化查询时出现类型错误

编辑仍然收到类型不匹配错误,但在注释的帮助下更新了代码 - 更新代码如下所示

我是 ASP 和 VBScript 的新手。我正在尝试将发布数据插入 SQL 数据库,但是,我想确保查询已消毒,因此我尝试使用参数化查询。当我执行查询时,我收到此错误。

我的代码看起来像这样

我尝试将数据键入为 varchar 和 char。如果您有解决我的问题的方法,请告诉我。另外,我打算在网站上插入三个以上的数据 - 有没有比手动为每列设置参数更好的方法?

0 投票
1 回答
3970 浏览

sql - 知道为什么在尝试使用参数化查询插入数据库时​​出现“参数类型错误”错误吗?

我正在尝试在经典 asp 中使用 vbscript 中的参数化查询将一些表单数据插入 SQL 数据库(我没有使用 asp 的经验)。我尝试了几种变体来声明我的参数,但一切都引发了错误。

我的数据库中的表不允许 ApplicationId 字段为空,并且是 int 类型。TimeStamp 列是日期时间。所有其他字段都是 varchar(MAX)

这是我的代码的最新变体,如果您能发现任何错误等,请告诉我

尝试在 Append 之前和之后分配值

此外,该网站被黑了,这就是我使用参数化查询重写代码的原因。这是可以工作(但允许注入)的原始代码,以防我需要使用记录集或其他东西

非常感谢您阅读本文

0 投票
1 回答
5299 浏览

sql - 使用 VBA 在 Excel 中使用参数查询表

下面是我必须在 Excel 中创建参数化查询的代码。我正在运行 MS Excel 2013。我正在尝试连接到 SQL Server 数据库。从这里我想使用一个单元格来查询这个数据库,在这个单元格中输入一个列的值,它会在数据库中查询该列中的所有行(一个 WHERE 子句)。该单元格应该是动态的,因此当您更改其中的值时,它会更改查询的结果。这是我的代码

在:

我在 .Refresh 部分不断收到错误消息。任何人都可以帮忙吗?这是我的数据库数据库链接的链接

我正在运行 SQL Server Express,服务器是 .\SQLEXPRESS。如果有人可以提供帮助,将不胜感激。

0 投票
1 回答
9973 浏览

sql-server - 使用 VBA 使用参数化查询在 Excel 中查询 SQL Server

我正在尝试使用 VBA 在 Microsoft Excel 中查询一个表。我编写了一些代码来尝试完成此任务,但我不断收到运行时错误“1004”,说这是一般 ODBC 错误。我不确定我需要做什么才能使此代码正常运行,以便我可以查询此表。

我正在使用 SQL Server Express,我连接到的服务器:.\SQLEXPRESS

数据库:

数据库链接

查询产品表VBA代码:

0 投票
4 回答
4132 浏览

oracle - Oracle 绑定变量未正确使用索引的问题

在我的场景中,以下查询运行速度很快(在有 7000 万行的表上运行 0.5 秒):

而且,它甚至可以使用绑定变量快速运行:

这些运行得很快,因为我在purchase_id列上有一个索引。(继续阅读...)

我需要创建一个允许对任意列进行“过滤”的查询。这意味着提供几个输入变量,并对每个变量进行过滤,除非它是null. 起初这很好用。

例如,以下查询运行速度也很快(0.5 秒):

但是,当我尝试通过绑定变量或存储过程对查询进行参数化时,查询会显着减慢(1.5 分钟),就好像它忽略了任何索引一样:

现在,在我的应用程序中,我被迫在运行时动态构建查询以获得良好的性能。这意味着我失去了参数化查询的所有优势,并迫使我担心 SQL 注入。

是否可以在保持相同逻辑的同时避免动态构造的查询?