mysqlcommand.executereaderasync处理可以返回一个或多个结果集的存储过程

im9ewurl  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(433)

我有一个存储过程,如果没有错误,它可以返回两组结果。
第一组只是正常的 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` 只包含存储过程返回的第一组结果。
我的问题是如何得到另一套?
vsdwdz23

vsdwdz231#

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

相关问题