今天又遇到一个问题,在QT中操作多个类访问同一个数据库时出现的错误,错误样式是这样的:
这个错误的意思大概就是说
QSqlDatabasePrivate::removeDatabase: 连接'qt_sql_default_connection'仍在使用,所有的查询将停止工作。
QSqlDatabasePrivate::addDatabase: 重复的连接名称'qt_sql_default_connection',旧的连接被删除
有一个博主的方式很不错,多个地方连接同一个数据库时,分别为addDatabase()函数指定第二个参数连接名。
链接在这
以下是我的解决方式:(当然才接触QT不久,可能有答非所问的地方)
1. 在我们需要使用连接数据库的类中,添加自定义的数据库类的头文件(这个类的构造函数对数据库进行初始化,为了创建该类对象的时候,自动初始化数据库,当然也可以定义函数,然后再构造函数中调用数据库初始化函数,实现数据库初始化操作)
2. 在需要使用连接数据库的类中,初始化自定义数据库类的对象
3. 那么该类就可以连接到头文件中初始化的那个数据库了
4. 其他类中方法也一样,最终实现多个类中访问同一个数据库