Newer
Older
AutomaticVerification / softwareDirectory / AutoVerScheme / databaseconnection.cpp
张嘉 on 25 Apr 2024 1 KB no commit message
#include "databaseconnection.h"




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

DatabaseConnection::DatabaseConnection()
{

    // 连接数据库
       localdb = QSqlDatabase::addDatabase("QODBC");
       localdb.setHostName("localhost");
       localdb.setDatabaseName("zdjd");
       localdb.setPort(3306);
       localdb.setUserName("root");
       localdb.setPassword("123456");

       Maindb = QSqlDatabase::addDatabase("QODBC","Main");
       Maindb.setHostName("111.198.10.15");
       Maindb.setDatabaseName("casic_metering_xichang_zd");
       Maindb.setPort(21906);
       Maindb.setUserName("zdjdcs");
       Maindb.setPassword("11111111");
//       Maindb = QSqlDatabase::addDatabase("QODBC","Main");
//       Maindb.setHostName("localhost");
//       Maindb.setDatabaseName("zdjd");
//       Maindb.setPort(3306);
//       Maindb.setUserName("root");
//       Maindb.setPassword("123456");



}
DatabaseConnection::~DatabaseConnection() {
    // 在析构函数中关闭数据库连接
    close();
}
bool DatabaseConnection::open() {
    return localdb.open();
}
bool DatabaseConnection::openmain() {
    return Maindb.open();
}
bool DatabaseConnection::isopen() {
    return localdb.isOpen();
}
bool DatabaseConnection::isopenmain() {
    return Maindb.isOpen();
}
void DatabaseConnection::close() {
    localdb.close();
}
void DatabaseConnection::closemain() {
    Maindb.close();
}
QSqlDatabase& DatabaseConnection::getDatabase() {
    return localdb;
}
QSqlDatabase& DatabaseConnection::getDatabaseMain() {
    return Maindb;
}
DatabaseConnection* DatabaseConnection::getInstance()
{
    if (!Connect) {
        QMutexLocker locker(&mutex);
        if (!Connect) {
            Connect = new DatabaseConnection();
        }
    }
    return Connect;
}