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

时间:2016-10-05 15:16:45

标签: c# mysql stored-procedures executereader

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

第一组只是正常input$fileSelect[[input$cateSelect]]

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

如果发生错误,

一组结果。该集只包含错误代码和错误消息,并且总是有一行。

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

select

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

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

1 个答案:

答案 0 :(得分:3)

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