Example #1
0
        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);
        }
Example #2
0
 private void ThrowReaderClosedException() => throw DataReaderException.ReaderClosed();
Example #3
0
 private void ThrowConsumeAfterStreamingStartedException() => throw DataReaderException.ConsumeAfterStreamingStarted();
Example #4
0
 private void ThrowRawReaderConsumedException() => throw DataReaderException.RawReaderConsumed();