tothehigh
tothehigh
2020-06-10 20:39

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

  • c++
  • mysql

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条回答

为你推荐