使用来自不同线程的默认数据库连接安全吗?如下所示:
bool upSafe(const QString &mig_to, const QString &mig_from) const {
if (!QSqlDatabase::database().transaction()) {
qCCritical(hfCoreMT) << "Failed init database transaction";
return false;
}
if (!up(mig_to, mig_from)) {
QSqlDatabase::database().rollback();
return false;
}
return QSqlDatabase::database().commit();
}在函数up中,默认创建并执行QSQLQuery。或者暗示一下正确的模式?
发布于 2018-05-30 07:07:44
QSqlDatabase (代表一个DB连接)不是可重入的。您只能从您创建的线程使用连接。如果需要从另一个线程执行查询,则需要首先从该线程创建另一个连接。
https://stackoverflow.com/questions/50597601
复制相似问题