diff -r 56cd8111b7f7 -r 41300fa6a67c src/sql/kernel/qsqlcachedresult.cpp --- a/src/sql/kernel/qsqlcachedresult.cpp Tue Jan 26 12:42:25 2010 +0200 +++ b/src/sql/kernel/qsqlcachedresult.cpp Tue Feb 02 00:43:10 2010 +0200 @@ -278,6 +278,11 @@ if (d->atEnd) return false; + if(isForwardOnly()) { + d->cache.clear(); + d->cache.resize(d->colCount); + } + if (!gotoNext(d->cache, d->nextIndex())) { d->revertLast(); d->atEnd = true;