QT5中的TableView没有显示MYSQL数据,只显示空行

时间:2015-05-17 17:25:33

标签: c++ mysql qt tableview qt5

我通过显示屏幕截图向您展示我的问题。这对我来说似乎更容易。enter image description here

My Table在我的程序中是空的,但它有适量的列,如果我在我的sql工作台中添加更多列,它将获得更多行,但它们中没有显示任何内容。 这是我的源代码:

void adminUserData::on_pushButton_Load_clicked()
{
    // This Object is for connecting to my Database (it works).
    Datenbank db;
    db.connData();

    QSqlQueryModel* model = new QSqlQueryModel();

    QSqlQuery* qry = new QSqlQuery(db.db);

    qry->prepare("SELECT * FROM worker");

    qry->exec();
    model->setQuery(*qry);

    ui->tableView->setModel(modal);

    qDebug() << model->rowCount();
    db.discData();
}

我不知道什么是错的。以下是工作台中我的数据库的屏幕截图: enter image description here 谢谢你们帮助我。 最好的问候

2 个答案:

答案 0 :(得分:2)

我认为(因为我们没有Datenbank源代码)问题是在堆栈上声明Datenbank db;,当函数存在时,数据库关闭导致查询和模型无效,要解决此问题,可以使用new在堆上声明它,也可以将其用作类的成员。

答案 1 :(得分:0)

不应该&#34; ui-&gt; tableView-&gt; setModel(modal);&#34; be&#34; ui&gt; tableView-&gt; setModel(mod e l);&#34;?