вопрос пока решился использованием цикла с постусловием:
при работающем свойстве HasRows
| Код | if(!this._Dr.HasRows) { .........какие-то действия, в результате которых цикл не выполнится ни разу return -1; } while(this._Dr.Read()) { .........какие-то действия }
|
при неработающем свойстве HasRows
| Код | if(!this._Dr.Read()) { .........какие-то действия, в результате которых цикл не выполнится ни разу return -1; } do { .........какие-то действия }while(this._Dr.Read());
|
но вопрос остается открытым...почему все-таки HasRows не работает корректно.
| Код | public sealed class IfxDataReader : DbDataReader, IDataReader, IDataRecord, IDisposable, IEnumerable { public override int Depth { get; } public override int FieldCount { get; } public override bool HasRows { get; } .................................................................... }
|
что OdbcDataReader, что IfxDataReader наследуются от DbDataReader, где определено свойство, только в версии Odbc работает правильно. Подскажите где я ошибся или стоит написать разработчикам? |