kima2/src/core/database.cpp

25 lines
650 B
C++

#include "database.h"
#include <stdexcept>
Database::Database(const std::string& dbname) : db(nullptr)
{
const int errCode = sqlite3_open(dbname.c_str(), &db);
if (errCode) {
throw std::runtime_error("Could not open database file.");
}
}
Database::~Database() { sqlite3_close(db); }
void Database::exec(const std::string& sql)
{
const int errCode = sqlite3_exec(db, sql.c_str(), nullptr, nullptr, nullptr);
if (errCode) {
throw std::runtime_error("Error in SQL execution.");
}
}
void Database::beginTransaction() { exec("BEGIN TRANSACTION"); }
void Database::endTransaction() { exec("END TRANSACTION"); }