Newer
Older
AutomaticVerification / softwareDirectory / AutoVerScheme / databaseconnectionmainsys.h
#ifndef DATABASECONNECTIONMAINSYS_H
#define DATABASECONNECTIONMAINSYS_H
#include <QtSql>
#include <QObject>
#include <QMutex>
#include <QMessageBox>


class DatabaseConnectionMainSys
{


public:
    //获取数据库实例
    static DatabaseConnectionMainSys* getInstance();

    DatabaseConnectionMainSys();
    ~DatabaseConnectionMainSys();
    bool open();
    bool isopen();
    void close();
    QSqlDatabase& getDatabase();
private:
    //单列模式 保证MainSysDatabaseConnection的唯一性
    static DatabaseConnectionMainSys* Connect;
    //QMutex 来确保在多线程环境下单例的正确创建。
    static QMutex mutex;

    //这是拷贝构造函数的声明,后面跟着 = delete; 表示这个构造函数被删除了。
    //这意味着你不能通过拷贝另一个 DatabaseConnection 对象来创建新的 DatabaseConnection 对象。
    //如果尝试这样做,编译器会报错。
    DatabaseConnectionMainSys(const DatabaseConnectionMainSys&) = delete;
    //这是拷贝赋值运算符的声明,同样后面跟着 = delete; 表示这个运算符被删除了。
    //这意味着你不能将一个 DatabaseConnection 对象赋值给另一个 DatabaseConnection 对象。
    //如果尝试这样做,编译器同样会报错。
    DatabaseConnectionMainSys& operator=(const DatabaseConnectionMainSys&) = delete;
    //数据库db类
    QSqlDatabase dbmain;
};

#endif // DATABASECONNECTIONMAINSYS_H