我有一个存储过程,如果没有错误,它可以返回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
只包含存储过程返回的第一组结果。
我的问题是如何得到另一个集合?
aReader.NextResult(); // returns true if there is another result set