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

第一组只是普通的select

第二组包含错误代码和错误消息,该组将始终返回一行。由于没有错误,因此错误代码将为0,错误消息为null。



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仅包含存储过程返回的第一组结果。

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

最佳答案

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

10-05 20:17