# HG changeset patch # User Matti Hamalainen # Date 1539166911 -10800 # Node ID 55581d90c55dfab386db8ff83b1a5899ef8ba79a # Parent 0e0ad52994ca6af4c67df347dab18784dd611e0f Change API for slCheckAndReportSQLError(). diff -r 0e0ad52994ca -r 55581d90c55d src/editperson.cpp --- a/src/editperson.cpp Thu May 10 01:16:30 2018 +0300 +++ b/src/editperson.cpp Wed Oct 10 13:21:51 2018 +0300 @@ -108,7 +108,7 @@ person.addBindValue(selPerson.lastName); person.exec(); - slCheckAndReportSQLError("SELECT check for existing person by same name (UPDATE)", person.lastError()); + slCheckAndReportSQLError(person, "SELECT check for existing person by same name (UPDATE)"); if (person.next()) { @@ -139,7 +139,7 @@ person.addBindValue(selPerson.lastName); person.exec(); - slCheckAndReportSQLError("SELECT check for existing person by same name (ADD)", person.lastError()); + slCheckAndReportSQLError(person, "SELECT check for existing person by same name (ADD)"); if (person.next()) { @@ -231,7 +231,7 @@ query.prepare(QStringLiteral("SELECT id,value,added FROM transactions WHERE person=? ORDER BY added DESC")); query.addBindValue(pinfo.id); query.exec(); - slCheckAndReportSQLError("SELECT transactions for tableview_Transactions", query.lastError()); + slCheckAndReportSQLError(query, "SELECT transactions for tableview_Transactions"); model_Transactions->setQuery(query); diff -r 0e0ad52994ca -r 55581d90c55d src/main.cpp --- a/src/main.cpp Thu May 10 01:16:30 2018 +0300 +++ b/src/main.cpp Wed Oct 10 13:21:51 2018 +0300 @@ -673,7 +673,7 @@ query.prepare(QStringLiteral("SELECT id,value,added FROM transactions WHERE person=? ORDER BY added DESC LIMIT 5")); query.addBindValue(id); query.exec(); - slCheckAndReportSQLError("SELECT transactions for tableview_Latest", query.lastError()); + slCheckAndReportSQLError(query, "SELECT transactions for tableview_Latest"); model_Latest->setQuery(query); @@ -934,9 +934,9 @@ } // Execute the query and update model - slCheckAndReportSQLError("updatePersonList() before exec", query.lastError()); + slCheckAndReportSQLError(query, "updatePersonList() before exec"); query.exec(); - slCheckAndReportSQLError("updatePersonList() after exec", query.lastError()); + slCheckAndReportSQLError(query, "updatePersonList() after exec"); model_People->setQuery(query); @@ -959,7 +959,7 @@ QSqlQuery query; query.prepare(QStringLiteral("SELECT TOTAL(value) FROM transactions AS balance")); query.exec(); - if (slCheckAndReportSQLError("updateMiscValues() get total balance query", query.lastError()) && + if (slCheckAndReportSQLError(query, "updateMiscValues() get total balance query") && query.next()) { totalBalance = query.value(0).toDouble();; @@ -971,7 +971,7 @@ query.finish(); query.prepare(QStringLiteral("SELECT COUNT(*) FROM people")); query.exec(); - if (slCheckAndReportSQLError("updateMiscValues() get people count", query.lastError()) && + if (slCheckAndReportSQLError(query, "updateMiscValues() get people count") && query.next()) { totalPeople = query.value(0).toInt(); @@ -1008,7 +1008,7 @@ query.addBindValue(value); query.addBindValue(QDateTime::currentDateTimeUtc()); query.exec(); - if (!slCheckAndReportSQLError(QStringLiteral("addTransaction(%1, %2)").arg(id).arg(value), query.lastError(), true)) + if (!slCheckAndReportSQLError(query, QStringLiteral("addTransaction(%1, %2)").arg(id).arg(value), true)) { QSqlDatabase::database().rollback(); return -2; @@ -1019,7 +1019,7 @@ query.addBindValue(QDateTime::currentDateTimeUtc()); query.addBindValue(id); query.exec(); - if (!slCheckAndReportSQLError("addTransaction update timestamp", query.lastError(), true)) + if (!slCheckAndReportSQLError(query, "addTransaction update timestamp", true)) { QSqlDatabase::database().rollback(); return -3; diff -r 0e0ad52994ca -r 55581d90c55d src/printing.cpp --- a/src/printing.cpp Thu May 10 01:16:30 2018 +0300 +++ b/src/printing.cpp Wed Oct 10 13:21:51 2018 +0300 @@ -130,7 +130,7 @@ query.setForwardOnly(true); query.exec(); - if (!slCheckAndReportSQLError("printDocumentPage()", query.lastError())) + if (!slCheckAndReportSQLError(query, "printDocumentPage()")) { slErrorMsg( tr("SQL-tietokantavirhe"), diff -r 0e0ad52994ca -r 55581d90c55d src/sqlmodels.cpp --- a/src/sqlmodels.cpp Thu May 10 01:16:30 2018 +0300 +++ b/src/sqlmodels.cpp Wed Oct 10 13:21:51 2018 +0300 @@ -58,7 +58,7 @@ np.addBindValue(info.id); np.exec(); - if (!slCheckAndReportSQLError("SLPersonSQLModel::updatePerson()", np.lastError())) + if (!slCheckAndReportSQLError(np, "SLPersonSQLModel::updatePerson()")) return -1; QSqlDatabase::database().commit(); @@ -78,7 +78,7 @@ np.addBindValue(QDateTime::currentDateTimeUtc()); np.exec(); - if (!slCheckAndReportSQLError("SLPersonSQLModel::addPerson()", np.lastError())) + if (!slCheckAndReportSQLError(np, "SLPersonSQLModel::addPerson()")) return -1; QSqlDatabase::database().commit(); @@ -99,7 +99,7 @@ del.addBindValue(id); del.exec(); - if (!slCheckAndReportSQLError("delete user", del.lastError())) + if (!slCheckAndReportSQLError(del, "delete user")) { QSqlDatabase::database().rollback(); return -1; @@ -109,7 +109,7 @@ del.addBindValue(id); del.exec(); - if (!slCheckAndReportSQLError("delete user transactions", del.lastError())) + if (!slCheckAndReportSQLError(del, "delete user transactions")) { QSqlDatabase::database().rollback(); return -2; diff -r 0e0ad52994ca -r 55581d90c55d src/util.cpp --- a/src/util.cpp Thu May 10 01:16:30 2018 +0300 +++ b/src/util.cpp Wed Oct 10 13:21:51 2018 +0300 @@ -114,8 +114,9 @@ // report it to stdout if so. Return "false" if error has occured, // true otherwise. // -bool slCheckAndReportSQLError(const QString where, const QSqlError &err, bool report) +bool slCheckAndReportSQLError(const QSqlQuery &query, const QString where, bool report) { + const QSqlError err = query.lastError(); if (err.isValid()) { // If an error has occured, log it @@ -154,7 +155,7 @@ tcreate.exec(sql); if (!slCheckAndReportSQLError( - sql, tcreate.lastError(), true)) + tcreate, sql, true)) return false; tcreate.finish(); @@ -174,7 +175,7 @@ insert.exec(sql); if (!slCheckAndReportSQLError( - sql, insert.lastError(), true)) + insert, sql, true)) return false; insert.finish(); diff -r 0e0ad52994ca -r 55581d90c55d src/util.h --- a/src/util.h Thu May 10 01:16:30 2018 +0300 +++ b/src/util.h Wed Oct 10 13:21:51 2018 +0300 @@ -39,7 +39,7 @@ void slLog(const QString &mtype, const QString &msg); int slErrorMsg(const QString &title, const QString &msg); -bool slCheckAndReportSQLError(const QString where, const QSqlError &err, bool report = false); +bool slCheckAndReportSQLError(const QSqlQuery &query, const QString where, bool report = false); bool slConditionallyCreateSQLTables(QSqlDatabase &db, const SLSQLSchemaDef *schema, const int nschema); diff -r 0e0ad52994ca -r 55581d90c55d src/viewtransactions.cpp --- a/src/viewtransactions.cpp Thu May 10 01:16:30 2018 +0300 +++ b/src/viewtransactions.cpp Wed Oct 10 13:21:51 2018 +0300 @@ -40,7 +40,7 @@ )); query.exec(); - slCheckAndReportSQLError("SELECT transactions for tableview_Transactions", query.lastError()); + slCheckAndReportSQLError(query, "SELECT transactions for tableview_Transactions"); model_Transactions->setQuery(query);