Mysqlcommand.ExecuteReaderAsync 处理可以 return 一个或多个结果集的存储过程

Mysqlcommand.ExecuteReaderAsync handle stored procedure that can return one or more result sets

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

第一组只是普通的select

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

1 组结果,如果发生错误。此组仅包含错误代码和错误消息,并且始终为一行。

现在在 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 仅包含由存储过程 return 编辑的第一组结果。

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

aReader.NextResult(); // returns true if there is another result set