【发布时间】:2020-08-20 03:10:59
【问题描述】:
假设我们有一个这样的存储过程
CREATE PROCEDURE CopyValue(IN src INT, OUT dest INT)
BEGIN
SET dest = src;
END
我想从 .net 应用程序调用它(假设连接等已成功创建)
var sql = "call CopyValue(100, @destValue); select @destValue as Results;";
上述语句中的字符串在MySql Workbench中调用时效果很好。
但是,当在 .net 中的 MySqlCommand 对象上执行时,这 - 显然 - 失败并出现“MySqlException:必须定义参数'@destValue'”
如何安排此语句以便从现有过程中捕获输出参数?
注意:我正在运行 MySql 5.6,目前无法升级。
NB 直接使用CommandType.StoredProcedure 调用该过程违反了公司准则。
【问题讨论】:
-
感谢您提供了一个写得很好的问题陈述和一个最小的可重复示例!
标签: c# mysql .net-core mysqlcommand