diff -r 56cd8111b7f7 -r 41300fa6a67c src/sql/models/qsqltablemodel.cpp --- a/src/sql/models/qsqltablemodel.cpp Tue Jan 26 12:42:25 2010 +0200 +++ b/src/sql/models/qsqltablemodel.cpp Tue Feb 02 00:43:10 2010 +0200 @@ -406,7 +406,7 @@ QSqlQuery qu(query, d->db); setQuery(qu); - if (!qu.isActive()) { + if (!qu.isActive() || lastError().isValid()) { // something went wrong - revert to non-select state d->initRecordAndPrimaryIndex(); return false;