问题标签 [sql-parametrized-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 投票
1 回答
163 浏览

sql - 如何在 Pandas 中使用“插入...在重复密钥更新”SQL 查询来解决“ORA-00933”?

我有一个包含 10 列的Oracle Table名称Consumer,其中 incolumn# 2, 3 and 4构成了它的主键。现在,我想通过Pandas Dataframeusing Insert...On Duplicate Key UpdateSQL 语句插入到这个表中。

首先,我将任何 pandas NaN 或 NaT 转换为 Oracle None,然后将 Dataframe 行转换为元组以进行插入。如果在插入过程中存在主键冲突,那么我只需要更新表中的最后 4 列。

我在这里使用的代码如下:

其中 DT、AT、OB 和 UT 是表中最后 4 列的名称。但这给了我以下错误:

有人可以帮我找出并纠正我的代码有什么问题吗?提前谢谢了。

0 投票
2 回答
39 浏览

.net - 使用 SQLQuery 在 .NET 应用程序中执行存储过程返回不正确的值

问题描述:

我正在尝试在 .NET Core 应用程序中调用存储过程。出于测试目的,我发送的硬编码值与我在 SQL Server 查询编辑器中传递的值和数据类型相同。

以下是我在 SQL Server 查询编辑器中传递的值、存储过程名称及其数据类型的屏幕截图:

数据库的期望值

以下是 .NET 端的代码:

注意:以下屏幕截图显示了 param3 数据类型和值以供参考。

数据类型说明

解释:

如果我们将 int 传递给存储过程,“startDateToUse”需要一个字符串值,它会崩溃并在数据集中返回全零。我在我的 .NET 应用程序中传递字符串,但它仍然在我的数据集中返回全零。

以下是我在 SQLServer 查询编辑器中传递 int 值时看到的内容。

迪斯克

数据类型更改为 DateTime

日期时间数据类型

谢谢您的支持。

0 投票
2 回答
156 浏览

c# - 带有 SQL Server 数据库的 .NET Core 应用程序,其中表名带有前缀 C# - 动态表名

我想知道是否可以将表前缀保留在配置文件中并SqlCommand通过将其附加到实际表名来在每个查询中使用它,因此具有相同表结构的两个应用程序可以使用相同的数据库而不共享数据。

截至目前,我所有的SqlCommand查询都是这样的:

或者:

如您所见,我使用参数,但不能在表名上使用参数。

如果我想添加prefix_到表名的开头,那么保护查询免受 SQL 注入的方法应该是什么,所以应用程序会与存储在设置文件中的带有前缀的表进行对话?

0 投票
1 回答
100 浏览

c# - C# - 如何使用 MySqlAdapter 参数化 SQL 查询

我正在尝试使用 MySqlAdapter 运行 SQL 查询,以便它返回 DataTable 中的数据。

我在参数化方面遇到了麻烦。基本上它不返回任何东西,它应该返回 2 行。

我有这个代码:

我检查并且 userCtrl.UserName 具有正确的值,所以我假设参数化有问题。

正如我之前所说的,问题是 dtResults 在它应该有至少 2 行时最终是空的。我检查了在 SQL 中运行查询。

SQL 响应

我究竟做错了什么?

谢谢!

0 投票
1 回答
520 浏览

postgresql - PostgresSQL 中的参数嗅探/绑定窥视

PostgreSQL 中的PrepareExecute组合允许使用绑定参数。但是,Prepare 不会生成针对一组参数绑定优化的计划,该计划可以与一组不同的参数绑定一起重复使用。是否有人对实现此类功能有意见?有了这个,计划将针对给定的参数绑定集进行优化,但可以重用于另一组。该计划对于后续集可能效率不高,但如果使用新参数绑定重新计算计划成本,则可能会发现它是有效的。

读取和使用参数绑定值进行基数估计在 SQL Server 中称为“参数嗅探”,在 Oracle 中称为“绑定窥视”。基本上,有没有人在 PostgreSQL 中做过类似的事情。

谢谢,坎贝尔

0 投票
0 回答
27 浏览

datagridview - 参数化查询 '(@Date date,@DocNo nvarchar(2),@CostCenter nvarchar(11),@Transac' 需要未提供的参数 '@AccountID'

我陷入了奇怪的境地。我有一个包含 1 个 DateTimePicker 2 个文本框、1 个 Combobox 和一个 datagridview 的表单。我已经使用 VB.Net 设置了编码,它同时将来自文本框 DTPickers、Combobox 和所有 Datagridview 行的数据保存在 SQL 数据库的一行中。数据已成功保存但我收到此错误消息,尽管 AccountID 不为空。在建议 DBNull.Value 之前,我想在这里澄清一下,如果我使用此选项,它会在数据库中保存一个额外的行,从 DTpicker、文本框和组合框获取现有值。请帮我解决这个问题。

0 投票
1 回答
226 浏览

c# - 用于数据库备份的 SQL 参数化查询被 sonarqube 报告为 sql 注入

我有几个 SonarQube 报告的 SQL 注入安全热点。我已将实现更改为使用参数化查询,但问题尚未解决。SonarQube 在以下行报告 SQL 注入:

我该如何解决?

问题解决为:

0 投票
0 回答
64 浏览

c# - 用于恢复备份文件的 SQL 参数化查询

我想使用参数化查询重构以下 sql 查询。可能吗?

作为第一步,我使用参数化查询通过 RESTORE FILELISTONLY FROM DISK = @backupFilePath 检索有关 mdf 和 ldf 的信息。下一步应该是还原操作。目前仅使用上述方法,但我想对其进行重构以解决声纳报告的安全热点(sql注入)。

更新:

我尝试使用与 BACKUP 相同的方法,但没有成功,不会引发错误,但不会移动 mdf、ldf 文件。

我也试过ssms

更新:

它现在可以在 SSMS 上运行:

0 投票
1 回答
29 浏览

node.js - 这种类型的查询对 sql 注入安全吗?

让 tableName = req.body.tableName

让 colName = req.body.col1+","+req.body.col2

sqlString =INSERT INTO ${tableName}(${colName}) VALUES ($1,$2) RETURNING *

0 投票
2 回答
54 浏览

jpa - 如何参数化单个查询

我想要一个包含所有选择的类别的查询,例如:在 ProductDao

但参数化