#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; }