public IDataResultsBase AdvanceToResultSet(int num) { StateMachine.ReceiveEvent(StateReaderConsuming); if (CurrentSet > num) { throw DataReaderException.ResultSetsAccessedOutOfOrder(CurrentSet, num); } if (CurrentSet == 0) { CurrentSet = 1; if (num == 1) { return(this); } } while (CurrentSet < num) { if (!Reader.Reader.NextResult()) { throw DataReaderException.ResultSetIndexOutOfBounds(num, CurrentSet); } CurrentSet++; } if (CurrentSet != num) { throw new DataReaderException($"Could not find result Set={num}. This should not happen."); } return(this); }
private void ThrowReaderClosedException() => throw DataReaderException.ReaderClosed();
private void ThrowConsumeAfterStreamingStartedException() => throw DataReaderException.ConsumeAfterStreamingStarted();
private void ThrowRawReaderConsumedException() => throw DataReaderException.RawReaderConsumed();