Question

I'm sure this must be something simple, but I can't quite work out what's up here...

I'm trying to create a QSqlQuery, and the compiler is giving me this:

error: aggregate ‘QSqlQuery testQuery’ has incomplete type and cannot be defined

This code is in my mainWindow class:

void MainWindow::on_toolButton_clicked()
{
    QString filename;
    filename = QFileDialog::getSaveFileName(this, tr("Save to SQL Database"),
                                            "~/temp",
                                            tr("Files (*.fdb)"));
    QSqlDatabase testDatabase = QSqlDatabase::addDatabase("QSQLITE");
    testDatabase.setDatabaseName(filename);

    //this line won't compile:
    QSqlQuery testQuery;

    testDatabase.close();
    QSqlDatabase::removeDatabase(QSqlDatabase::database().connectionName());
}

Can anyone see what I'm missing here?

Was it helpful?

Solution

The error message indicates that the type SqlQuery is not completely defined. QSqlQuery is defined in

#include <QSqlQuery>

Include that and things should compile ok.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top