private void FillReaderCache(int columnIndex)
{
try {
IReaderCacheContainer[] readerCache = ReaderCache;
if ((Behavior & CommandBehavior.SequentialAccess) == 0) {
while (_currentCacheFilledPosition < columnIndex) {
_currentCacheFilledPosition++;
readerCache[_currentCacheFilledPosition].Fetch(Results,_currentCacheFilledPosition, false);
}
}
else {
readerCache[columnIndex].Fetch(Results,columnIndex, true);
}
}
catch(SQLException e) {
_currentCacheFilledPosition = -1;
throw CreateException(e);
}
catch (IOException e) {
_currentCacheFilledPosition = -1;
throw CreateException(e);
}
}