发现Qt的QSqlTableModel是无法打开中文名称数据表
仅为了记录使用过程中发现的问题,如发现问题可以解决欢迎留言~
代码如下:
model = new QSqlTableModel(this);
model->setTable("班组表");
qDebug() << model->lastError().text();
model->select();
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
ui->tableView->setModel(model);
报错如下:
找不到班组表这个表,所以并不能显示,各种方法也都试了,还是失败了。。
最后用的QSqlQueryModel进行代替,虽然麻烦了一点,需要重写几个函数
代码如下:
querymodel = new QSqlQueryModel(this);
querymodel->setQuery("select 班组编号,班组名称,负责人姓名 from 班组表");
querymodel->setHeaderData(0, Qt::Horizontal, "班组编号");
querymodel->setHeaderData(1, Qt::Horizontal, "班组名称");
querymodel->setHeaderData(2, Qt::Horizontal, "负责人姓名");
ui->tableView->setModel(querymodel);
显示效果如下: