Есть код. Не знаю как лучше проверять успешность выполнения запросов. Вроде после каждого query.exec() и после query.next() если проверять, то запутает код. А один раз в конце наверное недостаточно. Как бы Вы поступили ?
for(QSet<int>::const_iterator I = idSet.begin(); I!=idSet.end();I++) {
query.exec(QString("select status from cards where id=%1").arg(*I));
query.next();
int status = query.value(0).toInt();
status = status | EMBOSSED;
query.exec(QString("update cards set status = %1 where id=%2").arg(status).arg(*I));
}
if(query.lastError().isValid())
throw ZException(QString("PPEmbosser.cpp, emboss()\nquery.exec(\"%1\")\n%2").arg(query.lastQuery()).arg(query.lastError().text()));