Newer
Older
AutomaticVerification / softwareDirectory / AutoVerScheme / databaseconnection.cpp
陈实 on 14 Mar 2024 1 KB 检定程序管理
#include "databaseconnection.h"


DatabaseConnection* DatabaseConnection::Connect = nullptr;
QMutex DatabaseConnection::mutex;

DatabaseConnection::DatabaseConnection()
{

    // 连接数据库
       db = QSqlDatabase::addDatabase("QODBC");
       /*db.setHostName("111.198.10.15");
       db.setDatabaseName("casic_metering_xichang");
       db.setPort(21906);
       db.setUserName("zdjdcs");
       db.setPassword("11111111");*/
       db.setHostName("localhost");
       db.setDatabaseName("casic_metering_xichang");
       db.setPort(3306);
       db.setUserName("root");
       db.setPassword("123456");


}
DatabaseConnection::~DatabaseConnection() {
    // 在析构函数中关闭数据库连接
    close();
}
bool DatabaseConnection::open() {
    return db.open();
}
bool DatabaseConnection::isopen() {
    return db.isOpen();
}

void DatabaseConnection::close() {
    db.close();
}

QSqlDatabase& DatabaseConnection::getDatabase() {
    return db;
}
DatabaseConnection* DatabaseConnection::getInstance()
{
    if (!Connect) {
        QMutexLocker locker(&mutex);
        if (!Connect) {
            Connect = new DatabaseConnection();
        }
    }
    return Connect;
}