qt 使用单例模式操纵数据库

[复制链接]
发表于 2026-2-10 10:52:27 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在 Qt 中使用单例模式操纵数据库,可以确保在整个应用步调中只有一个数据库毗连被创建。这通常通过将数据库毗连封装在一个单例类中来实现。下面是一个具体的代码示例,演示如安在 Qt 中实现这个模式。
步调 1: 创建 Singleton Database Class

起首,我们必要界说一个数据库单例类。
  1. #ifndef DATABASEMANAGER_H  
  2. #define DATABASEMANAGER_H  
  3. #include <QSqlDatabase>  
  4. #include <QSqlQuery>  
  5. #include <QSqlError>  
  6. #include <QDebug>  
  7. class DatabaseManager {
  8.    
  9.      
  10. public:  
  11.     static DatabaseManager& getInstance() {
  12.    
  13.      
  14.         static DatabaseManager instance; // Guaranteed to be destroyed.  
  15.         return instance;                 // Instantiated on first use.  
  16.     }  
  17.     // 禁用拷贝构造和赋值操作  
  18.     DatabaseManager(const DatabaseManager&) = delete;  
  19.     void operator=(const DatabaseManager&) = delete;  
  20.     bool openConnection() {
  21.    
  22.      
  23.         db = QSqlDatabase::addDatabase("QSQLITE"); // 使用 SQLite 数据库  
  24.         db.setDatabaseName("my_database.db"); // 数据库文件名  
  25.         if (!db.open()) {
  26.    
  27.      
  28.             qDebug() << "Database error occurred:" << db.lastError().text();  
  29.             return false;  
  30.         }  
  31.         
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表