问题标签 [output-parameter]

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 回答
15885 浏览

sql-server - 存储过程中 varchar 输出参数的用途 - 不能“返回 @myvarchar”但可以“选择 @myvarchar”

示例:

测试:

错误:

但是你可以这样做:

所以我的问题是,当你不能使用“return @myvar”如果它是一个 varchar 时,拥有一个 varchar 类型的 OUTPUT 参数有什么用(注意我不是在质疑一个 int 类型的输出参数)。您可以只“选择@myvar”。我试图弄清楚我做错了什么,因为我认为我不了解特定 varchar 输出变量的使用。

0 投票
2 回答
1733 浏览

c# - 无法从 C# 中的 Oracle 存储过程中检索出参数

这是我的存储过程(使尝试隔离问题变得简单,所以我现在要做的就是设置 OUT 参数):

PROCEDURE DequeuePPLPlatformMsg (msgType OUT VARCHAR2, msgBody OUT VARCHAR2) 开始

这是我调用存储过程并尝试获取 OUT 参数中的值的 C# 代码:

当我查看参数中的值时,它们包含空字符串。

有任何想法吗?谢谢!!

0 投票
2 回答
2313 浏览

asp.net - 如何在 SQL 输出参数中打印消息

我有一个如下所示的存储过程。@ErrorMsg如何在我的 aspx 页面的输出参数中打印消息。

0 投票
1 回答
1516 浏览

c# - 调用 PInvoke 函数 xxx 使堆栈不平衡

我在控制台应用程序中的 C# 代码(.net 4.0)中使用 C DLL 并面临问题。当我调用 C 方法时,它会引发以下异常。

这是C代码

这是我的 C# 代码

下面是调用该方法的 C# 代码

当代码到达这里时,我可以看到该方法在控制台中打印时正在处理,但在处理之后,它会引发上述异常。

我猜这是由于 C DLL 试图在输出/引用参数中写入值。我不知道问题出在哪里或我的代码有什么问题。

请注意,我已经在工具 -> 选项 -> 调试 -> 常规中取消选中选项“在模块加载时抑制 JIT 优化”

请尽快提供帮助。

感谢您花费宝贵的时间阅读这篇文章。

谢谢,基兰

0 投票
0 回答
733 浏览

c# - C DllImport 错误 System.AccessViolationException 试图读取或写入受保护的内存

我有一个 C DLL 用于 C# 代码 (.net 4.0) 当我访问 C 方法时,它会引发以下异常

在这里,我向您提供 C 代码和 C# 代码的详细信息

C代码:

C# 代码

我已经尝试过所有 CallingConvention,例如 StdCall、Cdecl、Winapi,但这在任何情况下都不起作用。

我的代码有什么问题?请注意,我的基本要求是使用输出参数,所以基本上我将在 C 代码中为输出参数分配一些值,然后从 C# 代码中访问它。

如果您可以提供任何示例代码,那么它将很有帮助。

谢谢,基兰

0 投票
2 回答
850 浏览

c# - 使用输出参数异步调用方法

是否可以使用 TPLTask<TResult>异步调用具有以下签名的线程安全方法并检索布尔返回值和输出参数?

显然,由于输出参数,我不能使用 lambda 表达式。此外,我无法通过定义如下所示的自定义委托并将其传递给Task<TResult>构造函数来解决问题,因为我需要将标准作为构造函数不支持的强类型参数传递。

编写如下包装器并异步调用它的最佳选择是什么?

只是看起来有点不雅,而且有一点点味道。

0 投票
1 回答
2087 浏览

powershell - powershell中的多个参数

我有一个用于调用 SP 的 powershell 脚本,如下所示

但是当我运行它时,我遇到了错误

我在哪里做错了?

0 投票
1 回答
4242 浏览

stored-procedures - 如何使用原始 SQL (LINQPad) 在 DB2 中调用存储过程

我有一个名为的存储过程MY_STORED_PROC. 它有一个整数输入参数和一个整数输出参数。

我已经尝试了各种DECLAREs、BEGINs 和ENDs 和calls,并且我已经开始研究更改语句终止符 (??),但我终生无法让它在原始 SQL (LINQPad在我的情况下)。

这个答案给出了

返回

错误 [42601] [IBM][DB2/SUN64] SQL0104N 在“ ”之后发现了意外的标记“DECLARE OUTPARAM NUMBER@ BEGIN”。预期的标记可能包括:“ <values>”。

我也尝试过设置终结符/分隔符:

两者都返回

错误 [42601] [IBM][DB2/SUN64] SQL0104N 在“ ”之后发现了意外的标记“DECLARE OUTPARAM NUMBER@ BEGIN”。预期的标记可能包括:“ <values>”。

call给出同样的东西。

通过以下方式调用它可以OdbcCommand正常工作call

我怎样才能调用这个东西并在输出参数中获得有意义的结果,然后我将其填充到结果集中并回显到屏幕上?

0 投票
1 回答
1300 浏览

c# - C# SqlCommand、XmlReader 和输出参数

当我使用 SqlCommand 执行存储过程时,接收输出参数的值时遇到问题。当我不是从 C# 代码而是从 SQL Server Management Studio 执行存储过程时,输出参数没有问题。这是我的 C# 代码片段:

我发现了这一点: Problem reading out parameter from stored procedure using c# 我添加了一行关闭阅读器,但没有帮助。上面链接中的一些用户使用 LoadHits 方法,我在 MSDN 或 Google 中找不到它。

0 投票
1 回答
20583 浏览

sql - 从存储过程中输出最后插入的主键值

我对此有点困难,因为我不确定如何在 SQL Server 中执行此操作。

基本上,我想在数据库中插入一个新行,获取刚刚插入的 PK 值(相同的查询)并将其输出回称为存储过程的任何内容:

我在 MySQL 中这样做如下:

SQL Server 给我一个错误:

消息 102,级别 15,状态 1,过程 Users_Insert,第 18 行
“@userid”附近的语法不正确。

坦率地说,我不确定我是否正确声明了输出参数,有人可以提供建议吗?