У меня есть хранимая процедура, которая возвращает три набора записей. Вот это называется в Студии.
EXEC CampaignData '007CF7F8-AE8D-DE11-8BBA-0003FF4C13C9'
Я не могу вырезать и вставить наборы записей из Management Studio, но, поверьте мне, он показывает три набора записей, первый имеет одну строку с 2 значениями, второй имеет три строки и третий имеет 2 строки.
Вот мой c # читает его
using (DAResult daResult = DA.SP.CampaignData(new Guid("007CF7F8-AE8D-DE11-8BBA-0003FF4C13C9")).Execute())
{
daResult.Read();
UserCount = daResult.ValueInt("UserCount");
ProspectCount = daResult.ValueInt("ProspectCount");
daResult.Next();
EmailTemplates = new DataTable();
EmailTemplates.Load(daResult.Reader);
daResult.Next();
SMSTemplates = new DataTable();
SMSTemplates.Load(daResult.Reader);
}
Next () просто вызывает NextResult для Reader.
Когда я добираюсь до последней строки, у читателя нет строк. Как и в случае последнего набора записей, строк не было. Все же это делает. Все остальные значения возвращаются в порядке.
У кого-нибудь есть идеи, почему это может быть?