Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QT5中的TableView不显示MYSQL数据,只显示空行_C++_Mysql_Qt_Tableview_Qt5 - Fatal编程技术网

C++ QT5中的TableView不显示MYSQL数据,只显示空行

C++ QT5中的TableView不显示MYSQL数据,只显示空行,c++,mysql,qt,tableview,qt5,C++,Mysql,Qt,Tableview,Qt5,我通过屏幕截图向您展示我的问题。这对我来说似乎更容易 在我的程序中,我的表是空的,但是它有适当数量的列,如果我在我的sql工作台中添加更多的列,它将获得更多的行,但是其中没有显示任何内容。 以下是我的源代码: void adminUserData::on_pushButton_Load_clicked() { // This Object is for connecting to my Database (it works). Datenbank db; db.connD

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

在我的程序中,我的表是空的,但是它有适当数量的列,如果我在我的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();
}
我不知道怎么了。以下是工作台中我的数据库的屏幕截图: 谢谢你们帮助我。
致以最良好的祝愿

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

不应该在ui->tableView->setmodelmodel;是ui->tableView->setModelmodel

问题在于,你还泄露了模型和查询。如果你对问题有疑问,请赢得一些声誉和评论/投票-