qt多进程访问一个数据库
多进程通过一个包装的数据库lib同时操作一个数据库xx.db,为何不行。
lib 类testsql中进行连接:
testsql::testsql(const &QString connname)
{
db = QSqlDatabase::addDatabase("QSQLITE", connname);
db.setDatabaseName("/ook.db");
db.open();
query = QSqlQuery(db);
}
A进程
testsql a(QString("a"));
a.createTable(); //新建一个表atable
然后A调用进程B在B中(此时A中没有进行close db)
testsql b(QString("b")); //这里已经设置connection name 为b 不同与a了
b.insertxx(); //针对表atable 插入不成功,似乎什么操作都不成功
问题出在哪呢? 难道A一定要先close(db) ? 有没有其他解决方法?
lib 类testsql中进行连接:
testsql::testsql(const &QString connname)
{
db = QSqlDatabase::addDatabase("QSQLITE", connname);
db.setDatabaseName("/ook.db");
db.open();
query = QSqlQuery(db);
}
A进程
testsql a(QString("a"));
a.createTable(); //新建一个表atable
然后A调用进程B在B中(此时A中没有进行close db)
testsql b(QString("b")); //这里已经设置connection name 为b 不同与a了
b.insertxx(); //针对表atable 插入不成功,似乎什么操作都不成功
问题出在哪呢? 难道A一定要先close(db) ? 有没有其他解决方法?
...全文
相关推荐
NDBPool:Qt编写的数据库连接池组件
在多线程或多进程环境下,多个并发请求可以共享这些连接,从而减少系统资源消耗,提高系统的响应速度。Qt是一个跨平台的C++图形用户界面应用程序开发框架,广泛应用于桌面、移动以及嵌入式设备。
Berkeley DB参考资料
DB Environment —— Berkeley DB- **10.1 Database environment introduction** - **环境作用**:为数据库提供运行时环境,包括资源管理和协调等
QT 多进程通信
在本示例中,"QT 多进程通信"着重展示了如何使用QProcess和QSharedMemory来实现进程间的通信。QProcess是QT库中的一个核心组件,用于与操作系统中的外部进程进行交互。
使用Qt做的数据管理系统
Qt提供了大量的预定义类,覆盖了图形用户界面(GUI)、网络通信、数据库访问等多个方面,使得开发者能够快速构建高性能的应用程序。
基于Qt的数据管理系统
**基于Qt的数据管理系统详解**Qt是一个跨平台的C++图形用户界面应用程序开发框架,由The Qt Company维护。


