当commandType是文本不是存储过程时,如何使用输出参数?

问题描述

当commandType是文本(不是存储过程)时,如何使用输出参数?

在此示例中,出现了此错误。 :System.Exception:sql中引用了“参数'ParaM',但它是一个唯一参数”

        using (var connection = new NpgsqlConnection(connectionString)) {
            connection.open();

            var dbCommand = connection.CreateCommand();
            dbCommand.CommandType = CommandType.Text;
            dbCommand.CommandText = @"
                SELECT COLUMN_A into @ParaM
                FROM TABLE_A 
                ORDER BY COLUMN_A DESC 
                LIMIT 1;
            ";

            var param = new NpgsqlParameter("ParaM",-1);
            param.Direction = System.Data.ParameterDirection.Output;
            dbCommand.Parameters.Add(param);

            dbCommand.ExecuteNonQuery(); // error!

            var result = dbCommand.Parameters["ParaM"];
        }

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)