У меня есть хранимая процедура, которая могла бы вернуть 2 набора результатов, если бы не было ошибок.
Первый набор — это обычный select
.
Второй набор содержит код ошибки и сообщение об ошибке, этот набор всегда будет возвращать одну строку. Поскольку ошибки не было, код ошибки будет равен 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
содержит только первый набор результатов, возвращаемых хранимой процедурой.
У меня вопрос, как мне получить другой набор?