gpt4 book ai didi

c++ - 无法在 MySql 数据库的 C++ QTableView 中显示数据 QSqlQueryModel

转载 作者:行者123 更新时间:2023-11-28 05:57:10 25 4
gpt4 key购买 nike

我不知道这个例子发生了什么。

我的连接没问题。

查询结果没问题(见下面的应用程序输出)...但是我的 qtableview 是空的。

results screen with 9 empty lines

应用程序输出显示 9 行,这些行是我的表中的正确结果。 rowCount = 9...但是 tableview 完全是空的。

#include "pedidos.h"
#include "ui_pedidos.h"

Pedidos::Pedidos(QWidget *parent) :
QDialog(parent),
ui(new Ui::Pedidos)
{
ui->setupUi(this);

Login conn;

if(!conn.connOpen())
ui->label_pedidos_conn->setText("Falha na conexão ao Database");
else
ui->label_pedidos_conn->setText("Database Ok");

}

Pedidos::~Pedidos()
{
delete ui;
}

void Pedidos::on_pushButton_load_pedidos_clicked()
{
Login conn;
QSqlQueryModel *modal=new QSqlQueryModel();
QTableView *view = new QTableView;

conn.connOpen();

QSqlQuery *qry=new QSqlQuery(conn.mydb);

qry->prepare("SELECT id_pedido,id_user FROM pedido WHERE status=0");
qry->exec();
modal->setQuery(*qry);

modal->setHeaderData(0, Qt::Horizontal, "Pedido");
modal->setHeaderData(1, Qt::Horizontal, "Usuário");

ui->tableView_pedidos->setModel(modal); // empty

view->setModel(modal); // second window
view->show(); // doesn´t work too ( empty )

while(qry->next()){

QString usuario = qry->value(0).toString();
qDebug() << "id:" << usuario;
}

conn.connClose();
qDebug() << (modal->rowCount());

}

我的应用程序输出在这里:

QSqlDatabasePrivate::addDatabase: duplicate connection name 'qt_sql_default_connection', old connection removed.
Database Ok
name: "124"
name: "125"
name: "126"
name: "127"
name: "128"
name: "129"
name: "131"
name: "225"
name: "308"
QSqlDatabasePrivate::removeDatabase: connection 'qt_sql_default_connection' is still in use, all queries will cease to work.
9

最佳答案

您放在那里调试的这段代码是多余的,特别是 conn->connClose() 会在 tableView 可以使用它来获取数据之前关闭数据库。

while(qry->next()){
QString usuario = qry->value(0).toString();
qDebug() << "id:" << usuario;
}
conn.connClose(); <---- remove this line!!!
qDebug() << (modal->rowCount());

关于c++ - 无法在 MySql 数据库的 C++ QTableView 中显示数据 QSqlQueryModel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33924029/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com