MySQL Connector / NET输出参数返回NULL

时间:2013-12-26 18:11:57

标签: mysql .net mysql-connector connector-net

使用以下代码:

MySqlParameter curParam = new MySqlParameter("var", MySqlDbType.Int32);
curParam.Direction = System.Data.ParameterDirection.Output;
oCmd.Parameters.Add(curParam);

使用以下存储过程:

CREATE PROCEDURE testProc(OUT var INT)
BEGIN
    SELECT 1, 2, 3;
    SELECT 27 INTO var;
END
$$

从控制台运行此命令将返回“27”:

CALL testProc(@i);
SELECT @i;

但是在.NET中,当执行查询时(当连接仍然打开时),curParam.value返回NULL。

否则存储过程将返回正确的结果。此外,在控制台中直接运行存储过程时,输出参数也会正确返回。

我错过了什么吗?

1 个答案:

答案 0 :(得分:2)

只有在关闭阅读器后才会填充

输出参数。与获得参数值相比,您的代码何时执行阅读器?