• 684阅读
  • 0回复

[提问]多线程访问mysql数据库同一个连接名 [复制链接]

上一主题 下一主题
离线介农酥
 

只看楼主 正序阅读 楼主  发表于: 2024-07-16
回复本帖可获得30点威望奖励!
每人最多可获奖1次,奖池剩余60点威望 (中奖几率90%)
我在主线程中打开了一个数据,连接名是“1”,已经确认是打开了的。
我在线程池中的QFuture<int> future = QtConcurrent::run(this, &ThreadDB::threadProc);
的threadProc中调用了

    QSqlDatabase db = QSqlDatabase::database("1", true);
    if (db.isOpen() == false)
    {
            if (db.open())
            {
                qDebug() << "数据库打开成功";
            }
            else
            {
                qDebug() << "数据库打开失败:" << db.lastError().text();
            }
    }

但是打开失败,提示驱动不能加载。

备注:主线程中,再打一个同名的数据库对象,是可以打开的。线程中就不行。
快速回复
限100 字节
 
上一个 下一个