QT5 中的 TableView 不显示 MYSQL 数据,只显示空行
TableView in QT5 doesn't show MYSQL Data, just empty rows are shown
我通过屏幕截图向您展示我的问题。这对我来说似乎更容易。
我的 Table 在我的程序中是空的,但它有适量的列,如果我在我的 sql workbench 中添加更多的列,它会得到更多的行,但是他们没有显示任何内容。
这是我的源代码:
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();
}
我不知道出了什么问题。这是 workbench 中我的数据库的屏幕截图:
谢谢你们帮助我。
最好的问候
我认为(因为我们没有 Datenbank
源代码)问题在于在堆栈上声明 Datenbank db;
,当函数存在时,数据库关闭导致您的查询无效并且模型,要解决这个问题,要么使用 new
在堆上声明它,要么将它用作 class 的成员。
"ui->tableView->setModel(modal);" 不应该是 "ui->tableView->setModel(model);" 吗?
我通过屏幕截图向您展示我的问题。这对我来说似乎更容易。
我的 Table 在我的程序中是空的,但它有适量的列,如果我在我的 sql workbench 中添加更多的列,它会得到更多的行,但是他们没有显示任何内容。 这是我的源代码:
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();
}
我不知道出了什么问题。这是 workbench 中我的数据库的屏幕截图:
我认为(因为我们没有 Datenbank
源代码)问题在于在堆栈上声明 Datenbank db;
,当函数存在时,数据库关闭导致您的查询无效并且模型,要解决这个问题,要么使用 new
在堆上声明它,要么将它用作 class 的成员。
"ui->tableView->setModel(modal);" 不应该是 "ui->tableView->setModel(model);" 吗?