comparison src/main.cpp @ 255:55581d90c55d

Change API for slCheckAndReportSQLError().
author Matti Hamalainen <ccr@tnsp.org>
date Wed, 10 Oct 2018 13:21:51 +0300
parents eadffc38ab43
children df3f902588af
comparison
equal deleted inserted replaced
254:0e0ad52994ca 255:55581d90c55d
671 671
672 QSqlQuery query; 672 QSqlQuery query;
673 query.prepare(QStringLiteral("SELECT id,value,added FROM transactions WHERE person=? ORDER BY added DESC LIMIT 5")); 673 query.prepare(QStringLiteral("SELECT id,value,added FROM transactions WHERE person=? ORDER BY added DESC LIMIT 5"));
674 query.addBindValue(id); 674 query.addBindValue(id);
675 query.exec(); 675 query.exec();
676 slCheckAndReportSQLError("SELECT transactions for tableview_Latest", query.lastError()); 676 slCheckAndReportSQLError(query, "SELECT transactions for tableview_Latest");
677 677
678 model_Latest->setQuery(query); 678 model_Latest->setQuery(query);
679 679
680 model_Latest->setHeaderData(0, Qt::Horizontal, tr("ID")); 680 model_Latest->setHeaderData(0, Qt::Horizontal, tr("ID"));
681 model_Latest->setHeaderData(1, Qt::Horizontal, tr("Summa")); 681 model_Latest->setHeaderData(1, Qt::Horizontal, tr("Summa"));
932 // No filter 932 // No filter
933 query.prepare(queryBase + queryOrderBy); 933 query.prepare(queryBase + queryOrderBy);
934 } 934 }
935 935
936 // Execute the query and update model 936 // Execute the query and update model
937 slCheckAndReportSQLError("updatePersonList() before exec", query.lastError()); 937 slCheckAndReportSQLError(query, "updatePersonList() before exec");
938 query.exec(); 938 query.exec();
939 slCheckAndReportSQLError("updatePersonList() after exec", query.lastError()); 939 slCheckAndReportSQLError(query, "updatePersonList() after exec");
940 940
941 model_People->setQuery(query); 941 model_People->setQuery(query);
942 942
943 model_People->setHeaderData(0, Qt::Horizontal, tr("ID")); 943 model_People->setHeaderData(0, Qt::Horizontal, tr("ID"));
944 model_People->setHeaderData(1, Qt::Horizontal, tr("Sukunimi")); 944 model_People->setHeaderData(1, Qt::Horizontal, tr("Sukunimi"));
957 { 957 {
958 // Update total balance value 958 // Update total balance value
959 QSqlQuery query; 959 QSqlQuery query;
960 query.prepare(QStringLiteral("SELECT TOTAL(value) FROM transactions AS balance")); 960 query.prepare(QStringLiteral("SELECT TOTAL(value) FROM transactions AS balance"));
961 query.exec(); 961 query.exec();
962 if (slCheckAndReportSQLError("updateMiscValues() get total balance query", query.lastError()) && 962 if (slCheckAndReportSQLError(query, "updateMiscValues() get total balance query") &&
963 query.next()) 963 query.next())
964 { 964 {
965 totalBalance = query.value(0).toDouble();; 965 totalBalance = query.value(0).toDouble();;
966 ui->label_TotalBalanceValue->setText(slMoneyValueToStr(totalBalance)); 966 ui->label_TotalBalanceValue->setText(slMoneyValueToStr(totalBalance));
967 ui->label_TotalBalanceValue->setStyleSheet(totalBalance < 0 ? "color: red;" : "color: green;"); 967 ui->label_TotalBalanceValue->setStyleSheet(totalBalance < 0 ? "color: red;" : "color: green;");
969 969
970 // Update number of people 970 // Update number of people
971 query.finish(); 971 query.finish();
972 query.prepare(QStringLiteral("SELECT COUNT(*) FROM people")); 972 query.prepare(QStringLiteral("SELECT COUNT(*) FROM people"));
973 query.exec(); 973 query.exec();
974 if (slCheckAndReportSQLError("updateMiscValues() get people count", query.lastError()) && 974 if (slCheckAndReportSQLError(query, "updateMiscValues() get people count") &&
975 query.next()) 975 query.next())
976 { 976 {
977 totalPeople = query.value(0).toInt(); 977 totalPeople = query.value(0).toInt();
978 ui->label_NumPeopleValue->setText(query.value(0).toString()); 978 ui->label_NumPeopleValue->setText(query.value(0).toString());
979 } 979 }
1006 query.prepare(QStringLiteral("INSERT INTO transactions (person,value,added) VALUES (?,?,?)")); 1006 query.prepare(QStringLiteral("INSERT INTO transactions (person,value,added) VALUES (?,?,?)"));
1007 query.addBindValue(id); 1007 query.addBindValue(id);
1008 query.addBindValue(value); 1008 query.addBindValue(value);
1009 query.addBindValue(QDateTime::currentDateTimeUtc()); 1009 query.addBindValue(QDateTime::currentDateTimeUtc());
1010 query.exec(); 1010 query.exec();
1011 if (!slCheckAndReportSQLError(QStringLiteral("addTransaction(%1, %2)").arg(id).arg(value), query.lastError(), true)) 1011 if (!slCheckAndReportSQLError(query, QStringLiteral("addTransaction(%1, %2)").arg(id).arg(value), true))
1012 { 1012 {
1013 QSqlDatabase::database().rollback(); 1013 QSqlDatabase::database().rollback();
1014 return -2; 1014 return -2;
1015 } 1015 }
1016 1016
1017 // Update person record timestamp 1017 // Update person record timestamp
1018 query.prepare(QStringLiteral("UPDATE people SET updated=? WHERE id=?")); 1018 query.prepare(QStringLiteral("UPDATE people SET updated=? WHERE id=?"));
1019 query.addBindValue(QDateTime::currentDateTimeUtc()); 1019 query.addBindValue(QDateTime::currentDateTimeUtc());
1020 query.addBindValue(id); 1020 query.addBindValue(id);
1021 query.exec(); 1021 query.exec();
1022 if (!slCheckAndReportSQLError("addTransaction update timestamp", query.lastError(), true)) 1022 if (!slCheckAndReportSQLError(query, "addTransaction update timestamp", true))
1023 { 1023 {
1024 QSqlDatabase::database().rollback(); 1024 QSqlDatabase::database().rollback();
1025 return -3; 1025 return -3;
1026 } 1026 }
1027 1027