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);。

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