Я столкнулся с изворотливой «особенностью» в Visual Studio, и мне было интересно узнать, заметил ли кто-нибудь еще это. Или, если это специфично для меня.OracleDataReader теряет результаты после экзамена
У меня есть некоторые методы, которые выполняют запросы SQL в базе данных, а затем возвращают OracleDataReader
method()
{
OracleCommand cmd = new command(query, connection);
OracleDataReader r = cmd.ExecuteReader();
return r;
}
Когда я отладки кода, который использует этот метод. Я могу щелкнуть по непубличным членам, чтобы просмотреть строки в результатах. Однако как только я просмотрел эти результаты, пытаясь выполнить чтение.Read() в OracleDataReader не содержит никаких результатов. Проверка результатов в режиме отладчика показывает читателю как Empty.
Каждый раз, когда я не проверяю результаты, код, который выполняет Read, работает без проблем.
Я не нашел доказательств этого через Google, но мои навыки поиска часто оставляют желать лучшего. Если бы кто-нибудь мог подтвердить это на собственной системе или пролил некоторый свет на причины, я бы очень признателен.
Большое спасибо.
Есть ли документация, подтверждающая это? Мне просто интересно узнать об этом немного подробнее. – Rocco
Вот хорошее сравнение DataReader и DataSet: http://msdn.microsoft.com/en-us/library/ms971481.aspx#adonetbest_topic3. –