#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("27.99.50.209"); Maindb.setDatabaseName("test"); Maindb.setPort(3306); Maindb.setUserName("casic_203"); Maindb.setPassword("Casic_203"); } 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; }