使用以下代码:
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。
否则,存储过程会返回正确的结果。此外,直接在控制台中运行存储过程时,输出参数也会正确返回。
我错过了什么吗?