【问题标题】:Mysqlcommand.ExecuteReaderAsync handle stored procedure that can return one or more result setsMysqlcommand.ExecuteReaderAsync 处理可以返回一个或多个结果集的存储过程
【发布时间】:2017-02-14 03:05:14
【问题描述】:

我有一个存储过程,如果没有错误,它可以返回 2 组结果。

第一组只是一个普通的select

第二组包含错误代码和错误信息,这组总是返回一行。由于没有错误,错误码为0,错误信息为空。

如果发生错误,则为一组结果。这个集合只包含错误代码和错误信息,并且永远只有一行。

现在在 C# 中,当我这样调用这个存储过程时:

var aCommand = new MySqlCommand();
aCommand.CommandText = "my_stored_proc";
aCommand.CommandType = CommandType.StoredProcedure;

aCommand.Parameters.Add("@ErrorCode", MySqlDbType.VarChar);
aCommand.Parameters["@ErrorCode"].Direction = ParameterDirection.Output;
aCommand.Parameters.Add("@ErrorMessage", MySqlDbType.VarChar);
aCommand.Parameters["@ErrorMessage"].Direction = ParameterDirection.Output;

var aReader = await aCommand.ExecuteReaderAsync().ConfigureAwait(false);

aReader 仅包含存储过程返回的第一组结果。

我的问题是如何获得另一套?

【问题讨论】:

    标签: c# mysql stored-procedures executereader


    【解决方案1】:
    aReader.NextResult(); // returns true if there is another result set
    

    【讨论】:

      猜你喜欢
      • 2016-08-06
      • 2011-04-22
      • 2019-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-19
      相关资源
      最近更新 更多