问题标签 [parameterbinding]
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.
c# - web api model binding to an interface
I'm trying to bind a controller action to an interface but still maintain the default binding behavior.
The consumer of my service knows nothing of CoolClass so having them add "$type" to the Json they are passing would be a hack in my opinion. I'd like to be able to handle it in the service. If I specify CoolClass as the action parameter it works fine.
EDIT: So I found a partial solution to my question here Dependency injection for ASP.NET Web API action method parameters but there is a follow up issue. That solution does not resolve interface properties. See my example below.
IConcreteClass will be resolved, but ISubtype will not.
Once the media formatter sees that is can resolve the type in IConcreteClass, it then reads the entire stream. So I'm guessing there is no chance to resolve interface members.
mysql - Perl dbi 中的绑定参数导致外键约束失败
我有一个想法,我想制作一个可以进行选择查询的子程序,然后将结果复制到同一个表中,但有一些重要的更改。我的问题是,我在其中运行 sub 的某些表具有包含许多不同字符的大文本字段,其中一些会破坏我的插入语句。然后我将插入更改为使用参数绑定,但是当我这样做时,我的查询将不会运行,因为我的“配置文件”字段上有一些外键约束:
DBD::mysql::st execute failed: Cannot add or update a child row: a foreign key constraint fails (
retriever
.result
, CONSTRAINT result_ibfk_2
FOREIGN KEY (profile
) REFERENCES profile
(id
) ON DELETE CASCADE ON UPDATE CASCADE) at ./create_query.pl line 62.
Cannot add or update a child row: a foreign key constraint fails (retriever
.result
, CONSTRAINT result_ibfk_2
FOREIGN KEY (profile
) REFERENCES profile
(id
) ON DELETE CASCADE ON UPDATE CASCADE)
关于表的一些信息:
这是我的代码:
mysql - 使用可变数量的要绑定的参数执行准备好的语句
我使用的一些存储过程需要根据是否提供了过程输入参数来插入 WHERE 标准。为了避免潜在的注入点,我想对将成为插值标准一部分的值使用参数绑定。
由于添加到准备好的语句的标准以及要绑定的参数数量可能会因用户输入而异,因此我设计了以下方法来确定哪些变量将传递给 EXECUTE 语句。这行得通,但似乎不优雅。
我知道替代方案:
- 调用这些存储过程的二进制文件有一个函数,该函数通过正则表达式传递用户提供的字符串来尝试识别潜在的 SQL 注入。
- 给定动态数量的输入,用户定义的函数可用于动态构造 EXECUTE 语句。
但是,我想知道是否有其他人遇到过这种纯粹使用 SQL 来处理 EXECUTE 语句的动态构造的愿望。
model-binding - WebApi2:自定义参数绑定绑定部分参数
我有一个 webApi2 项目和另一个项目,其中我有我的模型类和一个 BaseModel,它是所有模型的基础,如下所示,
所有其他模型都来自我的 BaseModel。
在 webapi 我有我的 CustomerController 如下,
到达 CustomerController 的每个请求在请求标头中都有一个“UserId”标头,我需要一个 ModelBinder 或 ParameterBinder 或一些仅绑定来自请求标头的 UserId 而不会触及其他模型参数的功能。我的意思是除了 UserId 之外的模型参数默认绑定..
我不想使用 AOP 或拦截器或方面。是否可以仅将 UserId 与模型绑定器、参数绑定器等 asp.net 功能绑定。
sql - 参数绑定和 IN 运算符
我非常确信这是不可能的,但以防万一:
如何为IN
运算符绑定正确的(列表)参数?
不幸的是,这不起作用:
参数绑定不仅比直接插值更漂亮,而且更安全:使用它的主要原因之一是阻止臭名昭著的Bobby Tables。但是,您是否坚持手动转义 IN 参数?
(示例是带有 sqlite3 gem 的 Ruby,但该问题实际上适用于为您进行参数绑定的所有语言/库。)
php - PDO 参数绑定在 Order By 上不起作用
刚刚开始使用参数绑定,我已经阅读了所有文档以及这里的很多问题/答案,但我似乎无法让它工作。
只需通过获取请求进行排序。
引用的行是原始的,可以很好地排序,但是在分析代码时可能会被注入。
上面确实执行了一个查询并返回数据,但它没有按传入的绑定排序。
我错过了什么?
powershell - 带有脚本块的管道 cmdlet 上的 PowerShell 参数绑定
我正在寻找解释为什么在使用脚本块而不在管道Rename-Item
cmdlet 中指定命名参数时参数绑定失败的原因。
为什么会这样:
但这不起作用:
?
错误:
语法对Rename-Item
我来说似乎很简单(即两个强制性位置参数):
ssis - SSIS- sqlcmd 来自源返回的变量和不同数量的字段
SSIS - 支持我们产品的多个版本
我们的企业数据仓库整合了来自多个数据源的数据。我们有一个要求,我们应该能够同时支持从这些数据源的不同版本收集数据。
前任。客户安装了我们产品的三个不同版本 7.3、7.3.1 和 7.3.2。在这种情况下,数据仓库将在版本 7.3.2 上,但应该能够从数据源的先前版本收集数据。
我们使用存储过程将数据从源收集到我们的暂存区,然后我们将其转换并加载到仓库中。SSIS 包的设计是,有一个主包为我们从源收集数据的每个表执行包。主包根据我们需要从中收集数据的源调用,如果在运行时有三个源,则主包的三个实例将运行。这些包在仓库机器上运行以从源系统中提取数据。
我们希望在仓库中维护这些包的一个版本,并支持从不同的源版本收集数据。
挑战
- 源系统上存储过程的签名在版本之间发生了变化
- 在较新的版本中,这些存储过程返回了一些附加字段
例子
7.3 版本签名:[dbo].[PDW_GetMediaAgentSummary](@LastVersionID 作为 BIGINT,@InitializeDays 作为 INT = 60,@NextVersionID 作为 BIGINT 输出)
7.3 Sp1 版本签名:[dbo].[PDW_GetMediaAgentSummary](@LastVersionID AS BIGINT, @DataStartDate AS DateTime2(3), @NextVersionID AS BIGINT OUTPUT)
另外,假设在 7.3 中这个存储过程返回了 8 个字段,而 7.3 sp1 它返回了 10 个字段。
我们试图适应的方式是使用 OLE DB 源中的“SQLCmd from variable”选项来覆盖签名差异,但该选项不允许我们将参数绑定到变量以获取输出值。第二个附加字段问题(或 7.3 过程中缺少附加字段),我们尝试关闭元数据验证,但是当我们针对 7.3 版本运行 SSIS 包时,在运行时出现 field not found 错误。看起来我们可以解决的唯一方法是根据源版本复制数据流任务。寻找更好的方法来做到这一点,因为随着发布数量的增加,这可能会失控。
感谢您对此的帮助
oracle - 游标中的 PL/SQL 变量是否与绑定参数有效地相同?
我听说使用绑定变量(可以)更有效,因为对于后续使用不同绑定值的调用,查询本身仍然是相同的,因此不再需要对其进行解析。
我理解为什么这是固定值的情况。在下面的游标中,值固定为 1。如果我有一个相同的不同游标,除了 1 变为 2,这是一个不同的查询。到目前为止清楚。
但我想知道在游标内使用 PL/SQL 变量时是否也是这种情况。它们是像固定值一样扩展,还是被解释为绑定变量。
我进行了广泛的搜索,但在任何地方我都可以找到关于literals的示例,就像上面的例子一样,但是没有关于 PL/SQL 变量的使用的明确解释。
换句话说,在下面的两个片段中,第二个可能更有效,还是它们本质上相同?
在游标中直接使用 PL/SQL 变量:
使用绑定变量:
powershell - Get-Service 参数绑定未按预期工作
我正在学习 PowerShell,并且对参数绑定有疑问。这可能是一个简单的问题,但我不知所措。
如果我输入:
这给了我“serverone”上的进程列表并且工作正常。但如果我输入:
然后我收到以下错误:
为什么是这样?两者都Get-Process
接受Get-Service
计算机名,并且此参数的帮助文件看起来相同。有趣的是,如果我键入相同的代码但添加-Name bits
到上面的Get-Service
命令中,它会返回服务详细信息。所以看起来像是Get-Service
试图将对象绑定到服务名称,但这不会发生Get-Process
在语法上看起来非常相似的情况?!