QT中QSqlDatabase addDatabase 的时候,只要加connectionName参数,查询就失败

qt操作mysql时,使用addDatabase添加了一个新的连接名,代码如下:

 dataBase = QSqlDatabase::addDatabase("QMYSQL", "conndb");

此时,数据库是可以打开的,但在查询时返回false

 QString sql = "SELECT * FROM measuredata";
    QSqlQuery query;
    bool bRet = false;
    bRet = query.exec();

总结:执行查询query时没有指定db ,改为:

 QString sql = "SELECT * FROM measuredata";
    QSqlQuery query(sql,dataBase);
    bool bRet = false;
    bRet = query.exec();

总结:如果想多个线程建立多个MySQL连接,就要使用 QSqlDatabase::addDatabase(“QMYSQL”, “conndb”); 建立多个连接名称,而且查询时,要指定数据库即 QSqlQuery query(sql,dataBase);。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章