QT tableview使用QSqlQueryModel或者QSqlTableModel不显示数据

model = new QSqlTableModel(this);
model->setTable("good");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
model->setHeaderData(0, Qt::Horizontal, tr("商品编号"));
model->setHeaderData(1, Qt::Horizontal, tr("商品名称"));
model->setHeaderData(2, Qt::Horizontal, tr("单价"));
model->setHeaderData(3, Qt::Horizontal, tr("折扣"));
model->setHeaderData(4, Qt::Horizontal, tr("库存"));
model->select(); //选取整个表的所有行
ui->goodtable->setModel(model);
ui->goodtable->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
可以看到读到了三条数据,添加数据修改提交数据库也是正常的,就是显示不出来。
图片说明
网上搜到一些提问但是没有答案,有的说把model改成局部变量也没有用,我怀疑是ODBC编码的问题,但是不知道如何解决,别人机器上正确的代码在我这也是这样。
下面这个网址的解决方法没有用。
https://blog.csdn.net/lgy807720302/article/details/7532262?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522159179192119724845036672%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=159179192119724845036672&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v25-2-7532262.nonecase&utm_term=qt+tableview%E6%98%BE%E7%A4%BA%E4%B8%8D%E5%87%BA%E5%86%85%E5%AE%B9

1个回答

楼主,我之前也遇到了这个问题,我也解决不了。
后来我尝试改用控件QT tablewidget,利用sql语句查到信息加到表格里,然后就能正常显示数据了。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问