问题标签 [out-parameters]

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 投票
4 回答
210 浏览

c++ - 将某些东西作为输出参数返回的正确术语是什么?

我希望这个问题是主题。

我在进行代码审查时偶然发现了以下功能:

此函数用于通过输出参数检索某个类的值xxx和值。yyy

评论(后来用于自动文档)说:

...此函数通过引用返回 [xxx] 和 [yyy]...

显然,该函数返回一个布尔值,指示成功或失败。所以上面那句话需要改写。但是怎么做?什么是正确的术语(如果有的话)通过输出参数返回某些东西,或者换句话说,填充通过引用传递的参数?

这个问题被标记为与语言无关,因为它不是 C++ 特定的。但它也被标记为 C++,因为该示例是用 C++ 编写的。

0 投票
2 回答
44720 浏览

java - 带 OUT 参数的 Java MyBatis 存储过程调用

第一个问题: 我试图返回一个 OUT 参数,而不是带有注释的结果集。首先,这可能吗?如果是,人们将如何做到这一点?

MyBatis:3.0.6

数据库:SQL Server 2008

下面是我在 UserDAO 中的方法调用的语法示例:

我正在从我的所有“保存”过程中返回一条消息,因此我可以向用户返回一条响应:“用户保存成功”、“保存用户错误”、“您无权保存此用户”等。我知道返回结果集会解决问题,只是我不想更改所有程序!

第二个问题:是否可以返回由多个 OUT 参数填充的“SaveProcedureResponse”?例如:

bean 看起来像这样:

谢谢!

0 投票
3 回答
5459 浏览

oracle - 必须在 PL/SQL 中为 OUT 参数分配一个值,这是真的吗?

这在被调用时效果很好。

0 投票
4 回答
736 浏览

c# - 条件流中 out 参数的用法和 CA1002 fxcop 错误

我有一个 xml 解析代码,我在其中解析来自 xml 的多个节点和属性。使用短路,我可以避免 if 在我的代码中,因为我只想在肯定的情况下继续处理。但是我收到 fxcop 错误CA1002作为参数的使用。

如何删除 fxcorp 错误?

0 投票
2 回答
4667 浏览

c# - 在 C# 中混合输出和命名参数:为什么输出参数也需要命名?

简短版本:参数后面的命名参数out会产生编译器错误,但我在语言规范中找不到对这种行为的任何支持。

长版

我正在使用Enum.TryParse<TEnum>三参数重载,但我更愿意命名ignoreCase参数以使我的代码更清晰,这样的调用:

使布尔值的含义不清楚(除非此方法已知1)。因此我想使用:

但是编译器将此报告为错误:

命名参数 'ignoreCase' 指定一个已经给出位置参数的参数

IDE 会突出显示该ignoreCase参数。针对 .NET 4 的 VS2010 和针对 4 或 4.5 的 VS11 Beta 都给出了相同的结果。在所有情况下,命名out参数都会消除错误。

我已经在框架和我的程序集中尝试了许多不同的方法(包括避免泛型)2:总是相同的结果:一个out参数后跟一个命名参数会产生错误。

我看不出这个错误的原因,并且C# 语言规范的§7.5.1参数列表:版本 4.0似乎没有提供任何原因说明out后面的命名参数应该给出错误。错误的文本似乎支持将其解释为错误:没有位置参数可以有效匹配ignoreCase.

我对规范的阅读是错误的吗?或者这是一个编译器错误?

C# 7.2 更新

当使用 C# 7.2 取消调用时,对所有命名参数的限制必须遵循位置参数。

请参阅https://docs.microsoft.com/en-gb/dotnet/csharp/whats-new/csharp-7-2#non-trailing-named-arguments


1因此,框架设计指南中的建议是首选enum参数。

2例如:给定:

out除非参数也被命名,否则此调用也会在命名参数上给出相同的错误:

0 投票
1 回答
1328 浏览

sql-server-2008 - 存储过程输出参数返回 null

它不会抛出任何异常但返回空值,即使过程在 SSMS 中也能正常工作

0 投票
1 回答
2528 浏览

sql-server - 如何在存储过程中使用 RAISERROR 创建参数?

如何在 MSSQL 中使用 RAISERROR 创建参数?

这个 id 存储过程例如:

0 投票
3 回答
1176 浏览

mysql - 我可以在 cfloop 中调用存储过程并在 Coldfusion 中输出动态输出参数吗?

今晚的最后一个问题,仍然使用 Coldfusion8 和 MySQL。

我有一个产品表,每个产品都有价格 A、B 和 C。我需要检索所有价格中 A、B、C 的最小值和最大值(A_min、A_max、B_min、B_max、C_min、C_max)

我想我会创建一个存储过程并像这样遍历 A、B、C:

所以我们的想法是为 A、B 和 C 运行 3 次,并让变量 A_min、A_max、B_min... 退出循环。

但是我的 out-parameters 有问题,在 MySQL 中,我声明如下:

Coldfusion错误说:

问题:
我是否必须为我的输出参数提供与 MySQL 内部相同的名称,或者正确的顺序是否足够?
更重要的是,我可以像这样动态设置输出变量吗?如果没有,除了调用存储过程三次之外,还有其他方法吗?

0 投票
3 回答
143 浏览

c# - 是否可以忽略“输出”参数?

我有这样的方法...

当我调用该方法时,如果我对该方法theOutParameter的调用不感兴趣,会是什么样子?实例化一个 new 似乎有点过分,bool以便在我对该值不感兴趣的情况下处理方法的 out 参数。

0 投票
5 回答
22454 浏览

php - PHP - MySQL 从存储过程中获取 out 参数的值

我使用 .php 从 PHP 调用了一个 MySQL 存储过程mysqli。这有一个输出参数。

这里,@id 是 out 参数。接下来,我触发以下查询以获取 out 参数的值:

的输出var_dump如下。

所以,现在我想检索 的值@id,但我无法做到。我试过$row[0]->{@id}了,但这给出了以下错误:

PHP 致命错误:不能将 stdClass 类型的对象用作数组