Comment gérer plusieurs ResultSets, chacun avec plusieurs lignes? L'appel à NextResult() casse la boucle while.Comment gérer plusieurs ResultSets, chacun avec plusieurs lignes? IDataReader.NextResult() se termine Read()
Certains de mes SP renvoient plusieurs ResultSets. Je les manipule avec NextResult() mais quand je le fais et que mon SP n'a qu'un seul ResultSet, je vois la boucle while avec Read() finir de me laisser avec seulement la première Row.
Sans l'appel à NextResult() j'obtiens toutes les lignes pour le premier ResultSet mais bien sûr le ResultSet deuxième et suivant ne sont pas traités?
using (IDataReader reader = storedProcedure.ExecuteReader(CommandBehavior.CloseConnection, parameterNames as string[], arguments))
{
while (reader.Read())
{
ArrayList row = new ArrayList();
for (int j = 0; j < reader.FieldCount; ++j)
{
object rowValue = reader.GetValue(j);
row.Add(rowValue);
}
reader.NextResult();//next resultset, breaks out of the while
}
}
belle Tomas. – learnerplates
C'était génial. Je rencontre si rarement des boucles de do-while que j'ai oublié qu'il existait même et donc jamais pensé à en utiliser un avant de voir cela. Je vous remercie! – KSwift87
Point parfait pour une structure do/while – pimbrouwers