What is the correct way of QSqlDatabase & QSqlQuery?

后端 未结 3 1121
难免孤独
难免孤独 2020-12-22 22:17

I got confused with the manual , should i work like this:

{
 QSqlDatabase db = QSqlDatabase::addDatabase (...);
 QSqlQuery query (db);
 query.exec (...);
}

         


        
3条回答
  •  萌比男神i
    2020-12-22 22:40

    I find that the instructions have to be run exactly in the order it is below or else you have issues, either with the database connection or query. This works in Qt5.

    QSqlQueryModel *model = new QSqlQueryModel;
    db = QSqlDatabase::addDatabase("QSQLITE");
    db.setDatabaseName(fileName);
    
    if (db.isValid())
    {
        db.open();
        if (db.isOpen())
        {
            QSqlQuery searchQuery(db);
            searchQuery.prepare("SELECT * FROM myTable");
            searchQuery.exec();
            if(searchQuery.isActive())
            {
                model->setQuery(searchQuery);
                sui->DBDisplay->setModel(model);
                db.close();
            } else {
                qDebug() << "query is not active";
            }
        } else {
            qDebug() << "DB is not open";
        }
    } else {
        qDebug() << "DB is not valid";
    }
    

提交回复
热议问题