Line data Source code
1 : #include "SetDBSettingOperation.h"
2 :
3 : #include <QDebug>
4 :
5 3 : SetDBSettingOperation::SetDBSettingOperation(OperationManager *parent, DBSettingsKey setting, const QString &value) :
6 3 : DBOperation(parent), setting(setting), value(value)
7 : {
8 :
9 3 : }
10 :
11 3 : void SetDBSettingOperation::execute()
12 : {
13 3 : db().transaction();
14 :
15 3 : QSqlQuery update(db());
16 3 : update.prepare("INSERT OR REPLACE INTO DBSettings (id, value) VALUES (:setting, :value)");
17 3 : update.bindValue(":setting", setting);
18 3 : update.bindValue(":value", value);
19 :
20 3 : if (!update.exec()) {
21 0 : reportSQLError(update, "Unable to set DBSetting: " + QString::number(setting));
22 0 : db().rollback();
23 :
24 0 : return;
25 : }
26 :
27 3 : db().commit();
28 3 : }
|