#include "BankDAO.h" #include #include #include #include "DatabaseManager.h" QList BankDAO::getAll() { QList list; QSqlQuery query(DatabaseManager::instance().database()); query.prepare("SELECT * FROM banks ORDER BY alias"); if (!query.exec()) { qWarning() << "Ошибка при получении banks:" << query.lastError().text(); return list; } while (query.next()) { BankInfo bank; bank.id = query.value("id").toInt(); bank.alias = query.value("alias").toString(); bank.name = query.value("name").toString(); bank.nspkName = query.value("nspk_name").toString(); list.append(bank); } return list; } void BankDAO::replaceAll(const QList &banks) { QSqlDatabase db = DatabaseManager::instance().database(); QSqlQuery query(db); db.transaction(); query.exec("DELETE FROM banks"); query.prepare(R"( INSERT INTO banks (alias, name, nspk_name) VALUES (:alias, :name, :nspk_name) )"); for (const BankInfo &bank : banks) { query.bindValue(":alias", bank.alias); query.bindValue(":name", bank.name); query.bindValue(":nspk_name", bank.nspkName); if (!query.exec()) { qWarning() << "Ошибка при вставке bank:" << query.lastError().text(); } } db.commit(); }