Newer
Older
WorkCardReader / dao / util / ConnectionManager.cpp
tanyue on 18 Jun 2022 1 KB 20220618 界面调整
#include "ConnectionManager.h"
#include <QApplication>

Q_GLOBAL_STATIC(ConnectionManager, cm)

ConnectionManager::ConnectionManager(QObject *parent) : QObject(parent)
{
    // 初始化数据库连接
    if (QSqlDatabase::contains("qt_sql_dafault_connection"))
    {
        conn = QSqlDatabase::database("qt_sql_default_connection");
    }
    else
    {
        conn = QSqlDatabase::addDatabase("QSQLITE");
        conn.setDatabaseName(QApplication::applicationDirPath() + "/data/casic.db");

        bool succ = conn.open();
        if (succ == true)
        {
            LOG(INFO) << QString("打开数据库操作正常[Open Database Success]").toStdString();
        } else
        {
            LOG(ERROR) << QString("打开数据库操作失败[Open Database Failed]").toStdString();
        }
    }
}

ConnectionManager::~ConnectionManager()
{
    conn.close();
}

ConnectionManager* ConnectionManager::getInstance()
{
    return cm;
}

QSqlDatabase ConnectionManager::getConnection()
{
    return this->conn;
}

qint64 ConnectionManager::generateId()
{
    return this->idWorker.nextId();
}