#ifdef _MSC_VER #pragma execution_character_set("utf-8") // Qt VS 中文兼容(UTF-8) #endif #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(); }